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')
url网站源码
本作品采用《CC 协议》,转载必须注明作者和本文链接
id=10结尾,我们猜测可能是一个sql注入点。首先我们在id=10后面加上一个单引号’进行判断。网站所呈现的内容是由代码中写入的sql语句调用数据库中的内容进行一个呈现,例如我们刚刚看到的文字。而sql注入漏洞一般是由于程序员书写的sql语句不规范所导致的安全事件。例如网站源码中使用如下的sql语句进行查询。发现10列的时候报错,说明不足10列,我们继续缩小范围。发现会分别回显第三列、第五列和第七列。
信息收集常用的工具
2022-07-23 22:07:16
云悉在线指纹识别。
网站备份文件泄露可能造成的危害:1. 网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
一般网站主站信息都比较少,我们需要在渗透测试过程的信息搜集阶段,我们可能会自动化工具获得来网站其他路径如:后台、其他未授权访问路径,扫描得到敏感文件的路径,从而找到敏感数据。 根据路径爆破工具进行使用与测评分析工具的特点,批量访问发现的路径查找敏感路径。工具爬虫扫描得到敏感文件的路径,找到敏感数据。
目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等 目录扫描有两种方式: •使用目录字典进行暴力才接存在该目录或文件返回200或者403;•使用爬虫爬行主页上的所有链接,对每个链接进行再次爬行,收集这个域名下的所有链接,然后总结出需要的信息。
结果发现根本解不出,后来发现原来是加盐MD5,想着先把盐值找到或许就能有一线突破最终找到的盐值和账号对应如下:. 我们可以通过BLL这个名字在DTcms.BLL文件夹中找到manager.cs接着在manager类中的GetModel方法中,发现在登录的时候会先从数据库中获得这个用户的盐值,然后根据输入的密码与盐值调用DESEncrypt.Encrypt进行加密。后来知道了这里DESEncrypt是一个类,Encrypt是一个静态函数,所以可以直接调用接着我们审计DESEncrypt中的Encrypt方法。在文件夹中搜索DESEncrypt,最终在DTcms.Common中找到了DESEncrypt类。/// DES加密/解密类。
这里建议doc文档,图片可以贴的详细一些。爆破完好了,一样的6。想给它一个清晰完整的定义其实是非常困难的。
一、漏洞挖掘的前期–信息收集 虽然是前期,但是却是我认为最重要的一部分; 很多人挖洞的时候说不知道如何入手,其实挖洞就是信息收集+常规owasp top 10+逻辑漏洞(重要的可能就是思路猥琐一点),这些漏洞的测试方法本身不是特别复杂,一般混迹在安全圈子的人都能复现漏洞。接下来我就着重说一下我在信息收集方面的心得。
一颗小胡椒
暂无描述