如果你喜欢我的文章,欢迎关注公众号:安全女巫
转载请注明出处:https://mp.weixin.qq.com/s/-ebZn79irVCoSDBHL7iW1g
该篇文章针对SRC渗透测试过程中的技巧进行罗列与简要分析,旨在帮助大家快速开展工作。
渗透测试工作是个精细的工作,在什么功能场景之下易发哪些漏洞,若有这样的对照表,势必会加固安全防线。全文先进行整体梳理,后进行逐一解说,文末简要实例介绍,通俗易懂。
1.信息收集
ICP备案查询子域名-https://beian.miit.gov.cn/#/Integrated/recordQuery
whois数据信息收集-https://whois.chinaz.com/
子域名查询-https://chaziyu.com、https://site.ip138.com/xxx.com/domain.htm
2.平台功能
用户登录-弱密码、URL重定向、IP绕过
用户退出-CSRF退出、URL跳转
用户注册-短信/邮箱轰炸
找回密码-短信/邮箱轰炸、批量获取用户名对应昵称、批量获取已注册用户
信息搜索-XSS、SQL注入、CSRF
编辑-XSS、SQL注入、CSRF、文件上传、越权
删除-XSS、SQL注入、CSRF、越权
投票-并发、CSRF、修改响应包、(只允许投票5次,前端验证。但后端可通过接口直接投票)
充值-金额为负数
订单-并发突破下单次数、CSRF、越权
接口-并发、无限制、前端限制不可点击,接口可直接访问、修改响应包
验证码-重复使用、无效(未验证)、可爆破、无验证码
评论-XSS、SQL注入、CSRF、并发、越权
签到-XSS、SQL注入、CSRF、并发、csrf、越权
3.平台本身
敏感信息-Dirsearch、Webpack、URLFinder、FindSomething、Burp-clj、Swagger-exp
数据安全-敏感信息明文传输、敏感信息明文展示在平台、敏感信息明文存储数据库
域名解析-Host碰撞
根据证书所有者查询使用者相关域名,IP信息。
网站https://beian.miit.gov.cn/#/Integrated/recordQuery查询域名所属的主办单位名称:xxxxx有限公司
由主办单位名称:xxxxx有限公司继续反查子域名
点击详情子域名汇总:
xxx.com
xxx.cn
通过网络空间安全搜索引擎云悉资产、FOFA、Virustotal、Dnsdumpster、Threatcrow
https://whois.chinaz.com/使用历史查询,查询出邮箱信息
邮箱反查查询出所绑定的域名信息
https://chaziyu.com/
https://site.ip138.com/xx.com/domain.htm
经确认与汇总去重得到xxx个子域名
弱密码:密码强度不够,易猜解。若是未限制错误次数,验证码无效的情况下可暴力破解进行登录
URL重定向:登录成功后一般自动跳转到其他页面。URL地址为:xxx.com?redirect=a_url,通过更改a_url的值可跳转任意页面
IP绕过:限制同一IP单位时间内的访问次数,可通过请求头加上x-forwarded-for:x.x.x.x*绕过限制校验失败次数
CSRF退出:退出功能未校验referer、Origin、csrftoken导致可csrf退出登录。若是发布在留言功能处易csrf退出
URL跳转:退出链接一般自动跳转至登录页面,此处若更改为任意url可用于恶意推广、钓鱼等
短信/邮箱轰炸:短信/邮件发送接口可使用并发漏洞,无限制发送短信/邮件给接收人带来干扰,也使用付费接口加重企业次数消耗
SQL注入:用户名处拼接sql语句,在个人资料处展示或其他位置展示昵称处可查询出期望的内容
短信/邮箱轰炸:短信/邮件发送接口可使用并发漏洞,无限制发送短信/邮件给接收人带来干扰,也使用付费接口加重企业次数消耗
批量获取手机号对应昵称:接口用于验证手机号对应的昵称以确认是否存在,若不限制查询次数可通过该接口泄露用户信息
XSS:用户可在搜索框搜索关键字并提交查询,未对输入进行过滤和转义,导致攻击者将恶意语句注入到搜索框中,可获取用户cookie
SQL注入:用户搜索' OR '1'='1,将原始查询语句闭合' OR '1'='1',可进行删除修改等恶意操作
XSS:触发点一般在列表展示页面,点击或加载触发。url链接:javascript:alert(1),图片加载:
SQL注入:一般在编辑页面编辑,触发点在列表展示页面展示(拼接后期望获得的内容)
CSRF:未添加referer、origin、token可诱导已登录用户点击,执行期望的编辑内容
文件上传:未限制上传文件类型、文件内容未过滤、文件名未进行重命名等,导致上传木马等
越权:可编辑更高权限接口、越权更改他人编辑页面
XSS:触发点一般在删除接口,访问时触发。url链接:<a href="/delete?id=<script>alert('XSS');</script>">删除</a>
SQL注入:通过提交 ID 号码来删除指定记录,url链接:?delete_id=1; DROP TABLE users; --
CSRF:未添加referer、origin、token可诱导已登录用户点击,执行期望的删除操作
越权:可直接调用管理员接口进行删除,可删除其他用户的平行权限
并发:使用burp插件Turbo Intruder进行并发操作,可突破每人每日投票次数限制,无限制投票
CSRF:构造csrf请求,可诱导对方点击后投票
修改响应包:使用burp-拦截请求-拦截执行-此请求的响应修改响应包可绕过限制成功发包
金额为负数:修改充值接口中金额为负数,不花钱反而可提现金额增多
金额绕过最低限制:修改接口中数值,绕过前端限制最低金额
并发突破下单次数:使用burp插件Turbo Intruder进行并发操作,一次付款下多次订单
CSRF:构造csrf请求,可诱导对方点击后下订单
越权:通过更改订单id可查看他人订单详情或取消订单
并发:使用burp插件Turbo Intruder进行并发操作
无限制:短信/邮箱/***号验证等付费接口,无限制使用可致资源消耗
接口可直接访问:接口后端未校验,虽前端无按钮点击触发,仍可通过接口直接访问
修改响应包:抓取正常响应包内容,用于替代不满足条件时响应内容,再次发包,可修改响应包
重复使用:验证码验证后一次使用不作废,可重复使用
无效(未验证):有验证码字段但未进行校验正确性,将之删除也可直接使用接口
可爆破:验证码位数较少爆破较为容易,且无过期时间,使用爆破手段可验证通过
无验证码:平台无验证码且未限制单个IP单位时间内访问次数,存在爆破风险
XSS:一般在评论处进行评论,评论展示处加载/点击触发
SQL注入:测试时易插入多条数据易导致容易数据,建议在测试环境测试或者正式环境测试后删除。
CSRF:构造csrf请求,可诱导用户发表评论
并发:未限制单位时间内评论次数易造成无效评论占用资源、造成数据冗余、影响用户体验
越权:更改评论者id可代提他人成功留言
并发:签到一般是一天只能签到一次,调用接口进行并发可一次签到多天,从而领取签到奖励
chrome浏览器F12-源代码查看webpack打包的前端源代码
https://github.com/pingc0y/URLFinder
针对网站逐一扫描E:toolsURLFinder-windows-amd64.exe -u http://xxxxxx.com -s 200 -m 2
逐一扫描url文本中url,使用进程50,将结果输出到js_result文件夹。将E:toolsURLFinder-windows-amd64.exe -f url.txt -s 200 -m 2 -f url.txt -t 50 -o ./js_result。注意扫描之前要自己创建空文件夹js_result,此为文件夹内容
浏览器输入chrome://extensions/
将crx格式文件拖到浏览器,进行安装扩展
访问网站可见信息
github地址:https://github.com/ntestoc3/burp-clj/releases/tag/v0.5.2
https://github.com/ntestoc3/burp-scripts下载并更新下面的脚本源,重新加载脚本
使用该插件记得把浏览器缓存清掉不然不会加载js文件。
访问url即可看到插件获取到的js链接
1》https://github.com/lijiejie/swagger-exp
使用说明:
1、扫描所有API集,打开Swagger UI
python swagger-exp.py http://site.com/swagger-resources/
2、扫描一个API集,打开Swagger UI
python swagger-exp.py http://site.com/v2/api-docs
3、只打开Swagger UI,不扫描接口
python swagger-exp.py
2》也可以将swagger常用路径写入dirsearch 的db文件,进行扫描
批量扫描swagger,注意使用dirsearch扫描后会将域名转为IP:python3 dirsearch.py -r -l E:outip.txt -w db/swagger.txt
一般是在接口中数据传输时,敏感信息明文传输比如:***号、支付宝账号、真实姓名、手机号、微信号、***证号等敏感个人信息未经加密或掩码处理直接明文展示。攻击者通过嗅探、中间人攻击等方法能够直接获取用户的敏感信息。
敏感信息明文展示,若被他人窥探易泄露用户敏感信息
若是数据库被黑客脱裤,数据库中用户敏感信息将泄露
以前在外网后被收入内网但忘记更改dns,或者公司不小心把内部的资产暴露到外网。我们通过对IP 和 域名 碰撞匹配,访问到绑定host才能访问的系统。
Host碰撞分为以下情况:
1.一个IP对应多个域名。直接访问IP,当IP返回401 400 403 等时,指定host让其访问。原理:本地dns优先与互联网DNS,.
2.dns指向内网地址域名。用外网IP,跑域名。如果服务有缓存。就会指向内网IP。
漏洞链接为http://xxx.com/xxx?value="><script>alert(1)</script>
输入"><script>alert(1)</script>,页面展示
Html响应页面原样输出,造成反射型xss
漏洞链接为http://xxx.com/xxx?value=xxxx
date输入extractvalue(1,concat(char(126),md5(1609886750))),页面回显
9e19143b1a88c610782235a44366741证明存在sql注入漏洞
http://target.com/%2e/admin => 200 添加URL路径:在URL和禁止文件的路径中添加 /* /%2f/ /./ / /*/ 在请求中添加:请求时在header中添加值为 127.0.0.1 的不同标头也有助于绕过限制。 X-Custom-IP-Authorization X-Forwarded-For X-Forward-For X-Remote-IP X-Originating-IP X-Remote-Addr X-Client-IP X-Real-IP
访问39.xx.xx.xx抓包,响应码404
将host更改为域名xx.xx.xx.cn,再次访问可访问成功
短信接口属于其中一种,短信是按照条数进行付费调用,若未限制单位时间内短信数量会给企业带来额外费用,同时频繁的发送短信也会对用户造成干扰。
接口已经进行次数限制,是否就安全了?并不是,可以试一下并发测试
点击获取短信校验码抓包
在插件cookie处末尾增加%s后点击按钮攻击
发包成功,可根据响应包内容判断是否存在并发漏洞,此处为支付宝修改密码处-不存在漏洞,为让读者了解如何测试条件竞争漏洞
有感兴趣者可参考我这篇文章,使用条件竞争拿优惠劵在自动售货机兑换更多物品
使用条件竞争突破同一时间兑换同一张优惠劵限制,可兑换多张金币到个人账户中
Aderduo,公众号:安全女巫【Hack The Box】蓝队入门Diogenes Rage通关详细攻略
本文作者:公众号:安全女巫
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/200077.html