找到
51
篇与
xioy
相关的结果
-
单兵作战系统的设计与开发 工具总体运行逻辑 整个工具使用ijson库来处理超大文件。经过实测52.7MB的report.json文件,存有21951个漏洞。能在2秒内生成108MB的report.html漏洞报告。 工具集合了ip补全、ip测活、端口测试、协议识别、指纹识别、漏洞扫描、生成报告功能。各功能之间紧密相连可实现梭哈效果。 报告效果展示 点击全部分类效果 漏洞详情效果 目录功能效果 ip补全功能 工具想法 资产表中经常会出现ip和ip段类型的资产。单个ip类型的资产还好说,但是有的ip段的ip数量会非常多。假设是1.1.1.1/24,补全后一共有254个ip。如果是1.1.1.1/16,补全后直接飙升到65534个ip。 最常见的是24,16的情况非常少,但是你不能说他没有。就拿我来说在最近的一次技术支撑中,甲方就扔了一个16的…… 虽然目前很多工具都支持扫描ip段,但是你不得不承认的是它只能扫描小范围的。当目标范围非常大情况下,工具就会出现丢数据或跑着跑着设备卡死的情况。 所以综上所述,我的建议最好是先补全ip,然后再进行测试。 工具主要功能及运作逻辑 假设资产表中存在ip和ip段两种类型。工具首先对资产类型进行识别。如果是ip类型则直接原样写入到ip.txt文件中,如果是ip段类型则进行补全操作,并把结果写入到ip.txt文件中。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个ip段和从文件中批量获取ip段。 实时显示处理进度。 要支持能够自定义结果保存路径和文件名称。 最终结果文本是实时写入方式。当资产特别多时消耗时间一定会非常长。工具在补全时,工作人员可以实时获取到结果,并优先测试已获得的资产减少时间浪费。 二次保存,结果文本名称相同时则覆盖原有文件,防止新老数据混淆。 ip测活 工具想法 补全ip段后,ip的资产数量一下子就成倍增加。如果直接拿着这些资产去跑全端口,耗时是非常长的。所以为了减少工作量可以先测活,只保留存活的资产,然后再进行接下来步骤。 工具主要功能及运作逻辑 测活的过程中有可能会出现两种情况:第一种对方允许ping、第二种对方禁止ping。在测活时首先通过ping的方式。如果通则判定为活,不通则更换成tcp方式,如果通则判定为活,不通则判定为死。并把结果写入到liveip.txt文件中。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个ip段和从文件中批量获取ip。 实时显示处理进度。 支持能够自定义线程数、超时时间、端口号、结果保存路径和文件名称。 支持自定义设置输出路径和名称 最终结果文本是实时写入方式。当资产特别多时测试时间一定会非常长。工具在测试时,工作人员可以实时获取到结果,并优先测试活的资产减少时间浪费。 二次保存,结果文本名称相同时则覆盖原有文件,防止新老数据混淆。 端口测试 工具想法 ip的可用端口范围是1-65535。在测试了市面上多款流行工具后,综合考量下决定使用masscan工具来作为本功能的测试工具。这个工具无论测试速度、信息准确度、系统兼容性都完美契合。 本工具分为两个版本:windows和linux。win版本针对的是个人电脑,个人电脑的处理器和内存性能普遍都比较高,所以win版本的工具可以把masscan的扫描速率设置到5000-10000之间(按照实际情况自行设置)。而linux版本是按照2核2G的标准进行设计,经过测试扫描速率设置为1000时可以确保信息的准确性与系统稳定性。 工具主要功能及运作逻辑 在ip测活步骤中,最终保存结果的文本名为liveip.txt。设计脚本使工具读取liveip.txt或自己上传存活的资产。让工具对所有存活的ip进行全端口扫描。 这个工具只能测试完所有ip才会生成结果文档。设计脚本让工具自动保存原始扫描结果,并重命名为port1.txt。由于原始扫描结果不符合实际需求,再设计脚本使原始扫描结果内容格式化后另存为port2.txt。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个目标和从文件中批量获取目标。 支持自定义扫描端口、扫描速率、结果保存路径和文件名称。 格式化扫描结果并另存为port2.txt,提高可读性。 协议识别 工具想法 端口协议识别使用的工具是nmap。不得不承认nmap的识别结果是非常准确的,唯一的的缺点就是速度太慢。目前还没有发现能够平替的它的工具。 工具主要功能及运作逻辑 在端口测活的步骤中,保存原始扫描结果的port1.txt在这里派上用场。设计脚本使nmap读取port1.txt文件获取存活的ip及它开放的端口,让nmap识别端口使用的协议。原始扫描结果另存为protocol1.txt,再设计脚本使原始扫描结果内容格式化后另存为protocol2.txt。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个目标和从文件中批量获取目标。 支持自定义扫描端口、扫描速率、结果保存路径和文件名称。 格式化扫描结果并另存为protocol2.txt,提高可读性。 指纹识别 工具想法 指纹识别使用的工具是httpx。同样在测试了市面上多款流行工具后,综合考量下决定使用httpx工具来作为本功能的测试工具。 工具主要功能及运作逻辑 在协议识别步骤中,内容格式化后的protocol2.txt派上用场。设计脚本使httpx读取protocol2.txt中使用http和https的目标,访问目标并进行指纹识别。原始扫描结果另存为fingerprint.txt。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个目标和从文件中批量获取目标。 漏洞扫描 工具想法 市面上公开的漏洞脚本最多非nuclei莫属。无论是工具本身还是资源都是无法撼动的,毫无疑问nuclei作为本功能的测试工具。 其实在端口识别结束后就可以直接使用本功能进行漏洞扫描,之所以中间加了两个步骤主要是为了目标精准化。测试出来的端口不单单只有http和https协议类型,还有其他类型的例如ssh、mysql等。 通过nmap协议识别后单独挑出使用http和https的服务进行漏洞扫描,可以大大减少服务器压力。 工具主要功能及运作逻辑 该功能分别可以在端口测试、协议识别、指纹识别功能运行结束后运行本功能。读取各功能处理过的文件获取到目标,然后进行漏洞扫描。扫描完成后保存原始扫描结果为result.json。 从用户角度考虑、提升用户体验、加快工作效率 工具支持单个目标和从文件中批量获取目标。 实时显示处理进度。 支持自定义并发数、超时时间、重试次数。 漏扫报告输出为json格式。 使用ijson库来大批量处理。 生成报告 工具想法 针对nuclei的漏洞扫描结果形成高可读性的漏洞报告。 工具主要功能及运作逻辑 设计脚本首先对result.json文件进行内容提取,结果另存为report.json,再设计脚本让脚本读取report.json中的关键字内容最终形成report.html漏洞报告。 从用户角度考虑、提升用户体验、加快工作效率 最终报告输出为html格式(html基于json形成)。 使用ijson库来大批量处理(实测52.7MB大小的report.json文件,存有21951个漏洞。能在2秒内生成108MB的report.html漏洞报告) 实时显示处理进度。 漏洞报告板块包含报告摘要、漏洞详情。 漏洞等级分为严重、高危、中危、低危且不同威胁等级对应不同颜色。 漏洞相同时多个漏洞内容合并到同一漏洞详情中,减少重复内容。 漏洞详情包含:漏洞名、脚本名、目标地址、漏洞地址、请求包、响应包。 所有内容支持快速复制。 点击不同分类显示相对应的漏洞内容。 目录放在左下角,有效防止内容遮挡。
-
大批量ip资产简化工作流程 事件缘由 每场护网行动公布的攻击目标一般都不会低于2k个,如果纯人工分拣,工作量和浪费的时间可想而知。就算挖到了漏洞提交上去大几率也会是重复的结果。所以为了减少工作量,把效率提上去就有了本想法。 ip段补全 护网行动公布的资产中,ipv4的资产数量占据绝大多数。分拣完资产后ip资产扔到工具里,脚本首先自动识别,正常的ip直接输出,格式符合的ip自动补全后输出结果。 支持以下格式: 1.1.1.1/24 1.1.1.1-254 1.1.1.1-1.1.1.254脚本命令: 选项 -f, --file 从文件读取IP范围(每行一个) -o, --output 指定输出文件(默认为ip.txt) -h, --help 显示帮助信息 示例 python ipcompletion.py 1.1.1.1/24 python ipcompletion.py 1.1.1.1-254 python ipcompletion.py 1.1.1.1-1.1.1.254 python ipcompletion.py -f ip.txt -o ip.txt 支持单个或读取文件 支持自定义输出路径和名称 文件中正常的ip则不作处理,原样输出到结果中。 最终结果文本是实时写入 二次保存,结果文本名字相同时则覆盖原有文件 脚本文末获取 ip测活 补全ip段后,你就会发现ip的资产数量一下子就上去了。如果你直接拿着这些资产去跑全端口,那么耗时是非常长的。所以为了减少工作量可以先测活,只保留存活的资产,然后再进行接下来步骤。 测活的过程中有可能会出现两种情况:第一种对方允许ping、第二种对方禁止ping。在测活时首先通过ping的方式,如果通则判定为活。如果不通则更换成tcp的方式测活如果通则判定为活,不通则判定为死,这是脚本的主体功能。 脚本命令: 选项 -f, --file 指定IP列表文件路径(可选) -i, --ip 指定单个IP地址(可选) -o, --output 指定输出文件 (默认为liveip.txt) -t, --timeout 超时时间(秒) (默认3.0) -p, --ports TCP端口列表 (默认80 443) -c, --threads 并发线程数 (默认200) -h, --help 显示帮助信息 示例 python ipscan.py -i 1.1.1.1 python ipscan.py -f 1.txt python ipscan.py -f 1.txt -p 80 443 22 -c 200 -t 3.0 -o liveip.txt 支持单个或读取文件 支持自定义设置线程数、超时时间、指定端口、输出路径和名称 最终结果文本是实时写入 二次保存,结果文本名字相同时则覆盖原有文件 脚本文末获取 资源获取 {card-default label="资源获取:ip脚本工具" width="100%"} 若链接错误或失效,请在下方留言告知! 隐藏内容,请前往内页查看详情 {/card-default}
-
2025盐城护网行动记录 提笔 行动告一段落,终于迎来了短暂的休憩时刻。飞驰的高铁车厢里,我望着窗外化不开的浓黑夜色。既然旅途漫长,不如提笔记录下这段不寻常日子里的所见所闻。 行动记录 这次行动中一共提交了102份报告。其中信息泄露漏洞和逻辑漏洞数量最多,分别37份和21份。报告库库写,没停下来过,键盘都要敲废了。 说点好玩的,遇到两个商城,一个是0元购,商家反向向我转账 一个是弱口令进入商城后台后,都拿到了管理员权限了不得搞一搞?撑死胆大的,饿死胆小的,一个字莽! 果断把我的账号余额和积分全都调整到99万,搞得太猛被管理员发现后账号被删除了。 这个系统还意外搞到了一个0day,运气爆棚哈哈哈哈哈。 后续我会整理一下报告,有看头的会写成文章发布到博客上,希望师傅们到时候支持一下。 所见记录 2024年是我第一次参加盐城护网行动。当时到盐城只是参加了线下的启动仪式,后续待了2天就返回公司转为线上比赛。今年的行动无论是启动仪式还是护网行动,全程都是在线下。具体时间安排是6月17日到24日。 提一嘴,截至目前在我参加的所有比赛中,我认为安排最好的就属盐城了。无论是住宿、伙食还是比赛场地全都没得说。尤其是住宿,其他地方线下行动安排的都是双人标间,只有盐城安排的是单人大床房,真的太爽了。 参赛的选手都太拼了。每天当脚刚踏入比赛场地,战斗就已经开始了。整个比赛现场没有一点交谈声,只有连续不断的鼠标点击声、键盘敲击声。只有到了饭点的时间,而且是在裁判长的再三催促下,这些声音才慢慢停歇下来。 提供的伙食那也没的说。一周共计14餐,可以说顿顿没有重样的菜。完全没有重的那倒也不是,只能说非常少。 随便吃两口吃,立马回到比赛场地继续挖洞。由于没有午休下午是真的非常困,我音乐的声音都开到最大了,当然好牛马都会主动买咖啡。 有时会下楼逛一圈醒醒盹,我边看手机边走路,没注意脚下。然后就听到有猫的叫声,低头一看差点就要踩到小猫了。为了表示歉意在旁边的便利店买了一根火腿肠投喂它。 到了晚上当然还是要继续加班的。不过刚好有江苏的足球城市联赛,就用手机外放赛事,听比赛,不至于那么无聊。常州对战南京多么希望常州能进一球。 行动过程中有周六周日,我原本计划利用这两天的时间去好好逛一下盐城。在周五深夜加完班后做了游玩攻略,第二天被通知行动继续没有休息,游玩计划只能作罢。这个游玩攻略只能等2025年了。 最后再来一张雨后天晴的照片
-
逻辑漏洞逻辑漏洞还是逻辑漏洞 第一个逻辑漏洞 目标菜单栏中只有这个一可以打,其他的都是文章链接 进入小程序第一步注册账号,头像处可以测试上传。 通过测试只能上传图片类型的后缀,其他的全都不行,下一个 修改个人信息的数据包引起了我的注意,它不是通过cookie来判断用户,而是openid,明摆着的越权漏洞 ok知道了逻辑,重新注册一个账号。把新账号的openid填进去然后发包 刷新账号的个人信息,信息被篡改了,第一个逻辑漏洞到手 第二个逻辑漏洞 返回到我的界面,然后重新进入个人信息界面时查询用户信息的数据包再次引起了我的注意。它也是通过openid来查询用户数据的,返回的数据包含姓名、手机号、身份证号、邮箱、账号、密码、openid。 直接填入新账号的openid,成功返回刚刚修改的信息。第二个逻辑漏洞到手 第三、四个逻辑漏洞 来到首页,测试志愿者注册功能点 有验证码功能,那测试一下有没有短信轰炸啥的。 通过测试只有短信转发漏洞,卡1卡2接收到的验证码都一样。第三个逻辑漏洞到手 另外提一嘴,注册志愿者也是通过openid来辨别身份的,我可以让任意一个人成为志愿者,算是第四个逻辑漏洞 信息泄露 接下来测试自主查询功能点,志愿者查询功能没啥可测的,重点在于志愿队伍查询 问题来了,怎么获取队伍名呢?这个可以在志愿队伍功能中查看到 输入获取到的队伍名,成功查询到队伍信息,同时还查询到队长姓名、手机号、身份证号、邮箱、账号、密码、openid 弱口令 小程序测试完成,开始测试web端 登录框没啥好说的,逐一尝试sql、接口、弱口令,最后弱口令成功进入后台 在用户管理功能中共计2513条个人信息,内容包含姓名、手机号、身份证号、邮箱、openid 泄露的openid结合上面的漏洞进行操作妥妥的乱杀 存储型XSS 在后台的的活动管理功能处,发现站点使用的是UEditor编辑器。这个网站是php的所以没办法通过编辑器getshell,只能造成一个存储型XSS 众所周知需要鉴权的漏洞分数都不会太高,所以现在要找到这个编辑的demo。demo不需要鉴权就能使用,造成的存储型XSS分值就会高。怎么找呢?非常简单用编辑器随便上传一张图片,在请求包中就可以看到路径 拼接一下地址就可以访问到编辑器的demo了 存储型XSS漏洞过程就不演示了,自行百度复现
-
发掘泄露的地图key与利用 地图key介绍 以高德地图为例。高德地图提供的API Key是开发者调用高德地图各项服务时必须使用的身份验证凭证。功能非常多,这里介绍几个核心功能: 地图展示:通过Key加载高德地图的矢量/卫星地图 地理编码:将地址转换为经纬度 路径规划:提供驾车、步行、骑行等导航路线。 地点搜索:POI检索,如搜索“附近的加油站”。 逆地理编码:将经纬度转换为具体地址 泄露Key引发的问题 费用增加:高德地图API通常有免费配额,但一旦超出免费额度,额外的请求会产生费用。 服务中断:如果发现API Key被泄露并被滥用,服务提供商可能会对相关密钥进行封禁或其他措施,可能导致你的应用服务中断。 滥用和超额使用:如果API Key泄露,其他人可能会滥用你的API Key,导致你的账户超额使用配额。 申请key 两种方式获取key: 网络测绘 (body="webapi.amap.com" || body="api.map.baidu.com" || body="apis.map.qq.com" || body="map.qq.com/api/js?v=") && is_domain=true 手动申请 https://lbs.amap.com/api/webservice/create-project-and-key 创建好账号后,在控制台点击应用管理-创建新应用,来获取key 有免费使用的次数限制 如果超出了次数限制可以进行充值 漏洞发掘 此类漏洞经常出现在公司官网关于公司或者联系我们板块中的地图功能 key主要在前端、请求包体中泄露,响应包泄露非常少见。 漏洞利用 国内主流的地图厂商分别有:高德、百度、腾讯,这里给出对应的请求示例: 高德webapi https://restapi.amap.com/v3/direction/walking?origin=116.434307,39.90909&destination=116.434446,39.90816&key=这里写key 高德jsapi https://restapi.amap.com/v3/geocode/regeo?key=这里写key&s=rsv3&location=116.434446,39.90816&callback=jsonp_258885_&platform=JS 高德小程序定位 https://restapi.amap.com/v3/geocode/regeo?key=这里写key&location=117.19674%2C39.14784&extensions=all&s=rsx&platform=WXJS&appname=c589cf63f592ac13bcab35f8cd18f495&sdkversion=1.2.0&logversion=2.0 百度webapi https://restapi.amap.com/v3/geocode/regeo?key=这里写key&location=117.19674%2C39.14784&extensions=all&s=rsx&platform=WXJS&https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=这里写key 百度webapiIOS版 https://api.map.baidu.com/place/v2/search?query=ATM机&tag=银行®ion=北京&output=json&ak=这里写key=iPhone7%2C2&mcode=com.didapinche.taxi&os=12.5.6 腾讯webapi https://apis.map.qq.com/ws/place/v1/search?keyword=酒店&boundary=nearby(39.908491,116.374328,1000)&key=这里写key 拿我的key做示例:28aebc9c35a582467c153e012b0bb244,已知是高德的所以直接使用高德的接口来调用一下是否能返回数据 https://restapi.amap.com/v3/direction/walking?origin=116.434307,39.90909&destination=116.434446,39.90816&key=28aebc9c35a582467c153e012b0bb244访问后成功返回数据 获取到的key不知道是哪个平台的就只能每个接口尝试一下了,如果是对应平台的key就可正常返回数据。也有特别的情况:对方做了防御,这个key只能由指定ip使用该服务 如果设置指定ip,获取到key后通过接口请求则会返回错误码 对应的错误码 这是高德的错误码对照表 https://lbs.amap.com/api/webservice/guide/tools/info