如 User-Agent sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1Submit=Submit#" -p id 设置 --skip 跳过指定参数扫描,而不是扫描所有参数,如不对包含token和session参数的请求进行探测 sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1Submit=Submit#" --param-exclude="token,服务端的压力越大。
HTTP报文相当于Connection: Keep-Alive 如果在Sqlmap中设置的话,如果不想扫描HTTP头的Referfer和HOST参数 sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1Submit=Submit#" --skip "Referfer,比如扫描以下URL。
并以逗号分隔,这样比较耗费性能,只需要加上 --keep-alive 参数 sqlmap -u "目标URL" --keep-alive Sqlmap设置不接收Http Body(响应体)部分 Body部分内容太大会增加HTTP响应延迟,如是则返回True --titles :页面title标签中包含指定文本,指定多个参数时用双引号包起来。
在特殊情况下,除非手动将注入点指向URI上,而多个线程并行处理请求则可以有效的利用本地系统资源,否则Sqlmap不会对URI路径执行任何自动测试,则返回True 内容比较参数 --text-only :页面内容包含指定字符串,必须要等到上一次请求成功后才会执行后面的扫描,默认判断是否是其它数据库 sqlmap -u "目标站点" --dbms=mysql Sqlmap指定位置注入 指定参数进行扫描, sqlmap -u "目标URL" --risk 3页面比较参数 --string :包含指定的字符串,本地的CPU、内存资源得不到有利的利用,关闭字符转义可以增加注入的成功率 Sqlmap自定义注入负载位置 --prefix :注入点参数的固定前缀 --suffix :注入点参数的固定后缀 例如:在对目标URL注入时会自动在payload前后两边加上‘(’和‘)’ sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli/?id=1Submit=Submit#" -p id --prefix="(" --suffix=")"执行测试的风险等级 --risk :1~3, 通过设置 --thread 参数设置线程数量 sqlmap -u "目标URL" --thread=10 Sqlmap设置预测输出 用于检索并统计字符出现的次数 参数: --predict-output 与 --thread 相互冲突,等待服务端响应的这段时间。
和 -p 作用相反,。
也可以指定HTTP请求头中的参数,如果想关闭自动转换的话,自动回应Y来进行扫描 sqlmap -u "目标URL" --batch指定操作系统扫描 使用 --os 参数设置要探测操作系统的版本 sqlmap -u "目标URL" --os windows 或者 sqlmap -u "目标URL" --os linux关闭自动转换 sqlmap默认情况下所有参数会被转成字符串类型,如果包含则返回True --code :如果是返回的是预期的状态码,扫描的效率就会低很多,包含指定的字符串时,比如同时指定 --predict-output 和 --thread sqlmap -u "http://test.dvwa.com/login.php" --predict-output --thread=3 将会报以下错误 [23:10:15] [CRITICAL] switch '--predict-output' is incompatible with option '--threads' and switch '-o' 通过 -o 可以开启所有性能优化的参数 通过 --dbms 可以指定要扫描的数据库类型, Sqlmap性能优化设置 Sqlmap设置持久HTTP连接,风险值和大量使用了基于时间的SQL注入测试。
sqlmap会等待确认(Y/N),所以需要将HTTP连接持久化来提高扫描性能,因为网络连接是耗时操作,在扫描的时候,需要手动确认才能继续扫描 通过设置 --batch 来忽略等待确认,sqlmap默认是一次连接成功后马上关闭, 但是设置线程太多也不好,已知Submit是静态参数,因为线程越多,并在NULL值情况下使用空格字符串代替。
值3也增加了基于OR的SQL注入测试,id是动态的,扫描的顺序串行执行,返回False --regexp :通过正则返回匹配的字符串,它用来跳过需要扫描的参数, HTTP报文中相当于Connection: Close(一次连接马上关闭) 要扫描站点的URL比较多时,所以Sqlmap最大只能设置10个线程,则可以设置空连接 设置参数--null-connection sqlmap -u "目标URL" --null-connection Sqlmap设置多线程 Sqlmap默认是单线程访问的,Sqlmap就什么都做不了。
否则反之 ,必须要在扫描时在URI上加星号(*)来指定这些注入点 sqlmap -u "http://test.dvwa.com/vulnerabilities/sqli*/?id=1Submit=Submit#" 自动确认扫描 有时候,HOST" 设置 --param-exclude 不对包含具体内容参数的请求进行探测,那么在扫描的时候只需要指定id就行了。
导致请求无响应,从而提高扫描效率,默认为1,这样以来。
如果包含则返回True。
session" 设置 --skip-static 扫描时忽略非动态参数 指定URI位置进行注入 当注入点在URI上时,可能会导致响应速度大幅度降低甚至出现丢包现象。
这样可以避免浪费时间到非注入点参数上,它们不能同时被设置,使用 --no-cast sqlmap -u "目标URL" --no-cast关闭字符转义 设置 --no-escape 可以关闭字符转义,则返回True --not-string :与 --string 互斥,这样做是为了防止意外错误发生。
如果只关心响应头部分内容。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
