fofa爬虫 + 源码泄露PoC之梦幻联动 – 作者:Johnson666

写在前面

相信大家一定对源码泄露并不陌生,这里也不赘述这个漏洞的原理和危害了,网上一搜也都有好多好多,看都看不完~~~
那今天这里我们讲啥呢?那就直入主题吧~今天这里我就贴出我自己参考的加上自己写的fofa爬虫 + 源码泄露PoC之梦幻联动,希望能对大家有帮助。我也只是个菜鸡,如果有不足请指正出来,一起学习~

fofa爬虫

因为这里我没钱,充不起会员,所以其中只能爬1—5页,应该能满足大部分人的需求了~反正我满足了, 因为我没钱,呜呜呜

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()也是为了安全考虑吧,慢一点就慢一点,稳就行了

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也很简陋,所以这里就不全贴出来了,想要的私聊我~

image

第二步

用fofa爬虫前首先我们需要获得其中的_fofapro_ars_session
先要打开fofa,进行登录

image

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

image

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

image

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

image

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

image

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

image

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

image

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

image

测试结束

福利

这里如果是只想测试一个网站,我这里附上另外一个PoC,大家可以用下面这个PoC,这里就不给大家演示了,跟上面的差不多,只是这份最后导出来的是write easy.txt

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')

建议

《中华人民共和国国家安全法》已由中华人民共和国第十二届全国人民代表大会常务委员会第十五次会议于2015年7月1日通过,现予公布,自公布之日起施行。
希望大家注意:
1、没有授权的前提下,不要触碰各类网站(包含企业网站),特别是国家事务、国防建设、尖端科学,政府相关网站,不要触碰ZF与国家背景企业的网站。

2、不要在不明确业务边界和责任边界的前提下,突破原有的系统权限和数据权限。

所以在这里建议各位师傅不要进行未授权测试,量力而行。

来源:freebuf.com 2021-06-02 16:54:17 by: Johnson666

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论