用户
搜索
  • TA的每日心情
    开心
    昨天 07:36
  • 签到天数: 101 天

    连续签到: 101 天

    [LV.6]常住居民II

    i春秋-见习白帽

    Rank: 3Rank: 3

    44

    主题

    91

    帖子

    2578

    魔法币
    收听
    0
    粉丝
    4
    注册时间
    2020-10-2
    发表于 2021-5-22 13:56:00 01133
    本帖最后由 Johnson666 于 2021-5-22 13:58 编辑

    写在前面
    相信大家一定对源码泄露并不陌生,这里也不赘述这个漏洞的原理和危害了,网上一搜也都有好多好多,看都看不完~~~
    那今天这里我们讲啥呢?那就直入主题吧~今天这里我就贴出我自己参考的加上自己写的fofa爬虫 + 源码泄露PoC之梦幻联动,希望能对大家有帮助。我也只是个菜鸡,如果有不足请指正出来,一起学习~
    fofa爬虫
    因为这里我没钱,充不起会员,所以其中只能爬1—5页,应该能满足大部分人的需求了~反正我满足了, 因为我没钱,呜呜呜
    [AppleScript] 纯文本查看 复制代码
    import requests
    
    from lxml import etree
    
    import random
    
    import time
    
    import urllib
    
    import base64
    
    
    
    headers = {
    
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36",
    
    }
    
    
    
    #这里的代理IP需要自己去爬取或者添加
    
    proxylist = [
    
        {'HTTP': '112.84.54.35:9999'},
    
        {'HTTP': '175.44.109.144:9999'},
    
        {'HTTP': '125.108.119.23:9000'}
    
    ]
    
    
    
    proxy = random.choice(proxylist)
    
    
    
    def loadpage(url,begin,end):
    
        for page in range(begin,end+1):
    
            print("正在爬取第"+str(page)+"页:")
    
            fullurl = url+"&page="+str(page)
    
            response = requests.get(fullurl,headers=headers,proxies=proxy).text
    
            html = etree.HTML(response)
    
            req = html.xpath('//div[@class="fl box-sizing"]/div[@class="re-domain"]/a[@target="_blank"]/@href')
    
            result = '\n'.join(req)
    
            with open(r'url.txt',"a+") as f:
    
                f.write(result+"\n")
    
                print("----------------第"+str(page)+"页已完成爬取----------------"+'\n')
    
    
    
    
    
    if __name__ == '__main__':
    
        q = input('请输入关键字,如 "app="xxx" && country="CN":等等')
    
        begin = int(input("请输入开始页数 最小为1:"))
    
        end = int(input("请输入结束页数 最大为5:"))
    
        cookie = input("请输入你的Cookie:")
    
    
    
        cookies = '_fofapro_ars_session='+cookie+';result_per_page=20'
    
        headers['cookie'] = cookies
    
    
    
        url = "https://fofa.so/result?"
    
        key = urllib.parse.urlencode({"q":q})
    
        key2 = base64.b64encode(q.encode('utf-8')).decode("utf-8")
    
    
    
        url = url+key+"&qbase64="+key2
    
    
    
        loadpage(url,begin,end)
    
        time.sleep(5)
    源码泄露PoC
    其中加入time.sleep()也是为了安全考虑吧,慢一点就慢一点,稳就行了
    [AppleScript] 纯文本查看 复制代码
    import requests
    
    import time
    
    with open("url.txt", 'r') as temp:
    
        for url in temp.readlines():
    
            url = url.strip('\n')
    
            with open("web.txt", 'r') as web:
    
                webs = web.readlines()
    
            for web in webs:
    
                web = web.strip()
    
                u = url + web
    
                r = requests.get(u)
    
                # print("url为:"+u)
    
                print("url为:" + u + ' ' + "状态为:%d" %r.status_code)
    
                time.sleep(2)          #想睡多久看自己~
    
            w = open('write.txt', 'w+')
    
            for web in webs:
    
                web = web.strip()
    
                u = url + web
    
                r = requests.get(u)
    
                w.write("url为:" + u + ' ' + "状态为:%d" %r.status_code + '\n')
    梦幻联动第一步
    先把web.txt准备好,里面放上自己想跑的目录,这里截取部分我的txt吧。因为我的txt也很简陋,所以这里就不全贴出来了,想要的私聊我~
    1.png

    第二步
    用fofa爬虫前首先我们需要获得其中的_fofapro_ars_session。
    先要打开fofa,进行登录
    2.png

    然后去cookie中找到它,复制下来
    4.png

    然后就可以用fofa爬虫爬取我们所需要的url了,就像这样
    3.png

    然后按下回车,就会进行爬取,然后导入到我们的url.txt中,大家可以在这个文件中进行查看,也可以直接在PyCharm中查看
    5.png

    这里如果不放心可以自己在fofa中搜索一遍进行比对,发现是一模一样的
    6.png

    下一步就是开始启动我们的源码泄露PoC了
    这里直接Run它
    7.png

    然后就是进入等待阶段。等待的时候可以泡上杯咖啡喝,啊,舒服~
    8.png

    结束后,这份最后导出来的是叫write.txt。大家可以直接在PyCharm中看,也可以打开write.txt中查看。我相信大家都是会看状态码的,这里我就不赘述了
    9.png

    测试结束
    福利
    这里如果是只想测试一个网站,我这里附上另外一个PoC,大家可以用下面这个PoC,这里就不给大家演示了,跟上面的差不多,只是这份最后导出来的是write easy.txt
    [AppleScript] 纯文本查看 复制代码
    import requests
    
    import time
    
    url=''      #想扫哪个网站自行将url粘贴到这里
    
    with open("web.txt", 'r') as web:
    
        webs = web.readlines()
    
    for web in webs:
    
        web = web.strip()
    
        u = url + web
    
        r = requests.get(u)
    
        #print("url为:"+u)
    
        print("url为:" + u + ' ' + "状态为:%d"%r.status_code)
    
        time.sleep(2)       #想睡多久看自己~
    
    w = open('write easy.txt', 'w+')
    
    for web in webs:
    
        web = web.strip()
    
        u = url + web
    
        r = requests.get(u)
    
    
        w.write("url为:" + u + ' ' + "状态为:%d"%r.status_code + '\n')



    发新帖
    您需要登录后才可以回帖 登录 | 立即注册