Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞
以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。
Sqlmap是一个开源的SQL注入漏洞检测工具,Nginx是高性能的WEB服务器。今天我们将二者结合起来,对网站的SQL注入漏洞实现“地毯式”的检测!
思路
sqlmap可以批量导入http代理的日志,根据日志中的每一个请求进行分析和探测。(可参考sqlmap帮助文档)
所以,我们可以配置nginx记录下网站所有的http请求信息,格式化处理后提供给sqlmap,这样sqlmap就能根据网站的每一个请求进行检测,从而实现最全面的检测效果。
操作步骤
实验环境:centos 6.5 + nginx + sqlmap
1. 配置nginx,记录请求信息
nginx无法记录完整的请求信息(反正我没找到),只能指定相应的字段进行记录,不过够了,关键信息基本都有了。
这里有个细节可以注意下,sqlmap接受的log日志是有一定格式的,所以要拼凑出这个格式。
修改nginx配置文件中的log_format的内容如下:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
收藏该文
log_format main '===================================================== ===================================================== $request Cookie: $http_cookie User-Agent: $http_user_agent Content-Type: $content_type Content-Length: $content_length Host: $host $request_body ===================================================== '; #到这结束,注意上面的空行记录的字段分别为:请求行、cookie、agent、content-type、content-length、host、post参数。 这样记录下来post请求参数也能检测了;实际上如果是get请求的话只记录请求行就行了。 配置好后记得重启nginx。 现在日志应该是这个样子了:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
perl -p -i -e 's/\n/\r\n/' access.log方法2 使用vi编辑器编辑access.log 在命令模式下输入:set ff=dos 然后保存退出 3.根据日志,执行检测 终端执行:
sqlmap.py -l access.log --batch -smart可以看到针对日志中的请求记录进行检测了:
Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞
占个位 @ WEB安全 2014-11-19 共 4305 人围观,发现 28 个不明物体
收藏该文
以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。
Sqlmap是一个开源的SQL注入漏洞检测工具,Nginx是高性能的WEB服务器。今天我们将二者结合起来,对网站的SQL注入漏洞实现“地毯式”的检测!
思路
sqlmap可以批量导入http代理的日志,根据日志中的每一个请求进行分析和探测。(可参考sqlmap帮助文档)
所以,我们可以配置nginx记录下网站所有的http请求信息,格式化处理后提供给sqlmap,这样sqlmap就能根据网站的每一个请求进行检测,从而实现最全面的检测效果。
操作步骤
实验环境:centos 6.5 + nginx + sqlmap
1. 配置nginx,记录请求信息
nginx无法记录完整的请求信息(反正我没找到),只能指定相应的字段进行记录,不过够了,关键信息基本都有了。
这里有个细节可以注意下,sqlmap接受的log日志是有一定格式的,所以要拼凑出这个格式。
修改nginx配置文件中的log_format的内容如下:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
总结
这个方案的优势在于:可以利用网站的普通访问来帮助我们对网站来进行注入检测,达到“人人为我”的效果,这也算是一种互联网思维吧。
个人拙作,欢迎大家讨论。
收藏该文
log_format main '===================================================== ===================================================== $request Cookie: $http_cookie User-Agent: $http_user_agent Content-Type: $content_type Content-Length: $content_length Host: $host $request_body ===================================================== '; #到这结束,注意上面的空行记录的字段分别为:请求行、cookie、agent、content-type、content-length、host、post参数。 这样记录下来post请求参数也能检测了;实际上如果是get请求的话只记录请求行就行了。 配置好后记得重启nginx。 现在日志应该是这个样子了:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
perl -p -i -e 's/\n/\r\n/' access.log方法2 使用vi编辑器编辑access.log 在命令模式下输入:set ff=dos 然后保存退出 3.根据日志,执行检测 终端执行:
sqlmap.py -l access.log --batch -smart可以看到针对日志中的请求记录进行检测了:
总结
这个方案的优势在于:可以利用网站的普通访问来帮助我们对网站来进行注入检测,达到“人人为我”的效果,这也算是一种互联网思维吧。
个人拙作,欢迎大家讨论。
Sqlmap联合Nginx实现“地毯式”检测网站SQL注入漏洞
占个位 @ WEB安全 2014-11-19 共 4305 人围观,发现 28 个不明物体
收藏该文
以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。
Sqlmap是一个开源的SQL注入漏洞检测工具,Nginx是高性能的WEB服务器。今天我们将二者结合起来,对网站的SQL注入漏洞实现“地毯式”的检测!
思路
sqlmap可以批量导入http代理的日志,根据日志中的每一个请求进行分析和探测。(可参考sqlmap帮助文档)
所以,我们可以配置nginx记录下网站所有的http请求信息,格式化处理后提供给sqlmap,这样sqlmap就能根据网站的每一个请求进行检测,从而实现最全面的检测效果。
操作步骤
实验环境:centos 6.5 + nginx + sqlmap
1. 配置nginx,记录请求信息
nginx无法记录完整的请求信息(反正我没找到),只能指定相应的字段进行记录,不过够了,关键信息基本都有了。
这里有个细节可以注意下,sqlmap接受的log日志是有一定格式的,所以要拼凑出这个格式。
修改nginx配置文件中的log_format的内容如下:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
总结
这个方案的优势在于:可以利用网站的普通访问来帮助我们对网站来进行注入检测,达到“人人为我”的效果,这也算是一种互联网思维吧。
个人拙作,欢迎大家讨论。
log_format main '===================================================== ===================================================== $request Cookie: $http_cookie User-Agent: $http_user_agent Content-Type: $content_type Content-Length: $content_length Host: $host $request_body ===================================================== '; #到这结束,注意上面的空行记录的字段分别为:请求行、cookie、agent、content-type、content-length、host、post参数。 这样记录下来post请求参数也能检测了;实际上如果是get请求的话只记录请求行就行了。 配置好后记得重启nginx。 现在日志应该是这个样子了:
2.格式化日志
在linux下换行符是LF,而HTTP协议中要求的换行符为CRLF,所以要替换换行符为CRLF;
方法1
终端执行
perl -p -i -e 's/\n/\r\n/' access.log方法2 使用vi编辑器编辑access.log 在命令模式下输入:set ff=dos 然后保存退出 3.根据日志,执行检测 终端执行:
sqlmap.py -l access.log --batch -smart可以看到针对日志中的请求记录进行检测了:
总结
这个方案的优势在于:可以利用网站的普通访问来帮助我们对网站来进行注入检测,达到“人人为我”的效果,这也算是一种互联网思维吧。
个人拙作,欢迎大家讨论。
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平将发表二〇二六年新年贺词 7904141
- 2 2026年国补政策来了 7808738
- 3 东部战区:开火!开火!全部命中! 7712893
- 4 2026年这些民生政策将惠及百姓 7616985
- 5 小学食堂米线过期2.5小时被罚5万 7519709
- 6 解放军喊话驱离台军 原声曝光 7428214
- 7 为博流量直播踩烈士陵墓?绝不姑息 7327605
- 8 每月最高800元!多地发放养老消费券 7238391
- 9 数字人民币升级 1月1日起将计付利息 7141831
- 10 2026年1月1日起 一批新规将施行 7040675








站内编辑
