漏洞加固-CVE-2015-7547

 

一、漏洞相关资料
google security团队发现报告 
https://googleonlinesecurity.blogspot.tw/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
权威分析   
https://sourceware.org/ml/libc-alpha/2016-02/msg00416.html
redhat 报告   
https://access.redhat.com/security/cve/cve-2015-7547

总结:漏洞后果很严重,漏洞利用难度很高(需要挟持DNS)

二、漏洞验证
https://github.com/fjserna/CVE-2015-7547
看README中英文说明
CVE-2015-7547-poc.py     模拟dns server
CVE-2015-7547-client.c     验证程序

#1.查看glibc版本
> rpm -qa glibc
#2.启动dns server
> python CVE-2015-7547-poc.py
#3.修改dns配置,使用伪造的dns server
> vi /etc/resolv.conf
#4.编译client并调用
> gcc -o client CVE-2015-7547-client.c
> ./client

输出 “Segmentation fault (core dumped)” 代表漏洞存在

三、加固
yum update glibc (确保yum源有最新版,glibc-2.12-1.166.el6_7.7.x86_64 及以上)
rpm -qa glibc 
./client 
注意update 需要先恢复dns,验证时需要用模拟的dns

到client 不输出 core dumped ,而是  Name or service not known,代表加固完成。

自动化sql注入漏洞挖掘

自动化sql注入漏洞挖掘

解决痛点:1.覆盖面 2.效率

一、原理
nginx作http代理,浏览器通过代理访问目标网站
nginx将全部http请求记录到redis中
Python查询redis中请求队列,循环调用sqlmap进行测试,并将结果保存到redis中

二、使用
1.redis安装及配置
步骤略
2.openresty安装及配置
安装openresty,添加proxy.conf/sqlinj.con(需引入lualib)
3.sqlmap服务开启
在N个节点开启sqlmapapi服务 (python sqlmapapi.py -s -H 0.0.0.0)
4.浏览器设置代理,通过nginx代理访问目标网站(nginx将请求全部保存到redis)
5.启动扫描任务
    a.配置修改param.py中redis连接方式
    b.调用preprocess.py将需要扫描的请求放到db1下队列中 (python preprocess.py hostname)
    c.启动扫描任务 (python console.py http://node1:8775)

 

https://github.com/zhanghangorg/sqlinj-ant