fofa爬蟲 + 源碼泄露PoC之夢幻聯動
一顆小胡椒2022-07-20 11:09:35
相信大家一定對源碼泄露并不陌生,這里也不贅述這個漏洞的理和危害了,網上一搜也都有好多好多,看都看不完~~~
那今天這里我們講啥呢?那就直入主題吧~今天這里我就貼出我自己參考的加上自己寫的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也很簡陋,所以這里就不全貼出來了.

第二步
用fofa爬蟲前首先我們需要獲得其中的_fofapro_ars_session。
先要打開fofa,進行登錄

然后去cookie中找到它,復制下來

然后就可以用fofa爬蟲爬取我們所需要的url了,就像這樣

然后按下回車,就會進行爬取,然后導入到我們的url.txt中,大家可以在這個文件中進行查看,也可以直接在PyCharm中查看

這里如果不放心可以自己在fofa中搜索一遍進行比對,發現是一模一樣的

下一步就是開始啟動我們的源碼泄露PoC了
這里直接Run它

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

結束后,這份最后導出來的是叫write.txt。大家可以直接在PyCharm中看,也可以打開write.txt中查看。我相信大家都是會看狀態碼的,這里我就不贅述了

測試結束
福利
這里如果是只想測試一個網站,我這里附上另外一個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')
一顆小胡椒
暫無描述