以安全防御方的角度来看,防御的广度比深度更具优先级,这也是信息安全中木桶原理的体现。
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的内容如下:
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/rn/' access.log
方法2
使用vi编辑器编辑access.log 在命令模式下输入:set ff=dos 然后保存退出
3.根据日志,执行检测
终端执行:
sqlmap.py -l access.log --batch -smart
可以看到针对日志中的请求记录进行检测了:
总结
这个方案的优势在于:可以利用网站的普通访问来帮助我们对网站来进行注入检测。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级