sqlmap性能优化

发布时间:2024年01月09日

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的话

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

在这里插入图片描述

2.sqlmap设置不接受HTTP Body

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

在这里插入图片描述
查看设置空连接之后的效果,payload构造如下所示
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --current-db --null-connection
在这里插入图片描述
没有对比就没有伤害,通过建立空连接,可以看到,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
在这里插入图片描述
在这里插入图片描述
查看数据包的情况,可以看到在默认情况下,使用的是一边请求,一边接收数据
在这里插入图片描述
查看使用多线程的效果,大大缩减了请求响应时间
python sqlmap.py -u "http://192.168.153.136/sqli-labs-master/Less-1/?id=1" --dbs --thread 10
在这里插入图片描述
如果服务器承受能力不好的话,很可能造成宕机的严重后果,谨慎使用。

4.sqlmap设置预测输出

🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🎈🌭🌭🌭🌭🌭🌭
sqlmap中的预测输出,在推理算法中用于检索值字符的顺序统计预测。
参数:--predict-output
值得注意的是--predict-output--thread参数不兼容
错误演示如下:
在这里插入图片描述

文章来源:https://blog.csdn.net/m_de_g/article/details/135472635
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。