sqlmap性能优化

sqlmap性能优化

--------------------------------------------------------------注意----------------------------------------------------------------------------
没有授权的渗透测试均属于违法行为,请勿在未授权的情况下使用本文中的攻击手段,建议本地搭建环境进行测试,本文主要用于学习分享,请勿用于商用及违法用途,如果用于非法用途与本文作者无关。

1.sqlmap设置持久HTTP连接


Sqlmap中可以设置连接为持久连接。HTTP报文中设置Connection:keep-alive
参数:--keep-alive
先尝试抓包,可以看到建立非持续连接
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --current-db
请求数据包报的connection:close
这里的参数有两个分别是closekeep-alive,区别就在于使用close连接的话,每次请求都需要建立连接才能发送数据,然而对于keep-alive的话

sqlmap性能优化_第1张图片
当我们增加参数之后,查看其效果payload参数设置如下
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --current-db --keep-alive
可以看到,使用已建立持续连接

sqlmap性能优化_第2张图片

2.sqlmap设置不接受HTTP Body


Sqlmap中设置空连接,表示不接受HTTP当中的Body,常用在盲注过程中。
参数:--null-connection
先抓取在没有设置参数之前的情况,payload如下所示
可以看到请求的长度是266,响应的长度是979

sqlmap性能优化_第3张图片
查看设置空连接之后的效果,payload构造如下所示
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --current-db --null-connection
sqlmap性能优化_第4张图片
没有对比就没有伤害,通过建立空连接,可以看到,sqlmap改变了请求方法使用了HEAD的请求方式,HEAD的请求方式降低了请求包长度,响应包的长度也减少了,大大的增加了探测的速度。

3.sqlmap设置多线程


sqlmap中设置同时发送多少个HTTP请求的多线程。
--thread默认是1个多线程。为了不影响目标站点服务器的性能,sqlmap可以设置最大的线程数为10.
使用默认情况下的请求,构造的payload如下所示
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --dbs
sqlmap性能优化_第5张图片
sqlmap性能优化_第6张图片
查看数据包的情况,可以看到在默认情况下,使用的是一边请求,一边接收数据
sqlmap性能优化_第7张图片
查看使用多线程的效果,大大缩减了请求响应时间
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --dbs --thread 10
sqlmap性能优化_第8张图片
如果服务器承受能力不好的话,很可能造成宕机的严重后果,谨慎使用。

4.sqlmap设置预测输出


sqlmap中的预测输出,在推理算法中用于检索值字符的顺序统计预测。
参数:--predict-output
值得注意的是--predict-output--thread参数不兼容
错误演示如下:
sqlmap性能优化_第9张图片

你可能感兴趣的:(信息安全,Web安全,渗透测试学习,网络安全,web安全,安全)