python url采集 + exp批量测试
首页 > 学习    作者:Hit0n   2018年10月28日 23:23 星期日   热度:1912°   百度已收录  
时间:2018-10-28 23:23   热度:1912° 


严正声明:本文仅用于技术探讨,严禁用作其他用途。

前言

早就有想法写一个自己的漏洞利用框架了,主要思路是利用搜索引擎采集特征url,然后在调用exp进行批量验证。

正文

url采集

不详细写了,网上已经有很多类似的文章了,直接贴代码出来。


import requests
import re
import os
from bs4 import BeautifulSoup as bs
from threading import Thread
from queue import Queue

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'}

class Baiduspider(Thread):
    def __init__(self,queue):
        Thread.__init__(self)
        self._queue = queue

    def run(self):
        while not self._queue.empty():
                url = self._queue.get()
                try:
                    self.spider(url)
                except Exception as e:
                    pass

    def spider(self,url):
        r = requests.get(url=url, headers=headers)
        soup = bs(r.content,'lxml')
        urls = soup.find_all(name='a',attrs={'data-click':re.compile(('.')),'class':None})
        for url in urls:
            #print (type(url))
            try:
                r = requests.get(url['href'],headers=headers,timeout = 4)
                if r.status_code == 200:
                    r_para = r.url
                    r_split = r_para.split('/')
                    url = r_split[0] + '//' + r_split[2]
                    with open('result.txt') as f:
                        if url not in f.read():
                            print(url)
                            f1 = open('result.txt','a+')
                            f1.writelines(url+'\n')
                            f1.close()
            except Exception as e:
                pass


def main():
    queue = Queue()
    for i in range(0,750,10):
        queue.put('https://www.baidu.com/s?wd={}&pn={}'.format(keyword,i))
        threads = []
        thread_count = 10
        for i in range(thread_count):
            t = Baiduspider(queue)
            threads.append(t)
        #for t in threads:
            t.start()
        for t in threads:
            t.join


if __name__ == '__main__':
    f1 = open('result.txt','w')
    f1.close()
    keyword = input('请输入关键字: ')
    main()


exp

网上有很多,多去github上搜搜,由于具有一定的危害性就不放出来了,这里推荐ske师傅的一个项目。
https://github.com/SkewwG/CmsExp

实践

运行url采集脚本,如图。

运行exp验证脚本,这里以aspcms为例。

随便挑一个去解密。

后话

url采集器还是很重要的,每爆出一个新的漏洞,你只要提取出特征值就可以精确寻找目标。当然搜索引擎也不止只有百度,还有一些网络空间搜索引擎比如:FOFA,ZoomEye,Shodan.都可以了解一下,利用相应的api来采集。


二维码加载中...
本文作者:Hit0n      文章标题: python url采集 + exp批量测试
本文地址:http://lang-v.com/first_cms/yc/emlog/src/?post=44
版权声明:若无注明,本文皆为“YC's Blog”原创,转载请保留文章出处。
yc2018-10-30 19:47
我记得南方良精就有类似报管理账号密码的0day

返回顶部    首页    手机版本    后花园  
版权所有:YC's Blog    站长: Hit0n    程序:emlog