guimaizi’s blog

从前


title: 如何艺术的刷src url: 321.html id: 321 comments: false categories:

  • 安全/代码 date: 2018-10-10 22:00:10 tags:

作为一个刷src老油条来说下我的经验,我是13年开始刷src的,蝉联宇宙最厉害src tsrc四年的前五,最好成绩是第三-.-''',积分制上有一年的第一。

13、14年那时候真的是如果稍微有点编程功底基本就可以制霸各大src,那个时代甚至好多厂家没有waf(web防火墙)的概念,而web2.0时代才刚开始一段时间,xss、sql、命令注入、代码执行、越权、弱口令什么鬼的到处都是,所以出了很多从零开始的黑客,历练到今年,基本都已经是独当一面的安全工程师,甚至有的还很出名很牛逼很有钱,16、17年开始行业不一样了,从以前厂商裸奔到waf的普及和安全意识的转变,然后刷src人士就不好过了,一个xss都要先绕过waf,被政策施压、各种黑客的扫描测试、乙方厂家扫描测试,相对当年已经重视和安全了很多。

言归正传,刷src也就是批量挖漏洞,漏洞是如何产生? 交互处常有漏洞,世界本来很安全,自从有了人,和他人,需要处理和他人各种逻辑关系时,就不安全了。

交互流程:

iYuyPf.png 这个互联网就是基于这个逻辑而存在,就如同你论坛发帖,流程:要把文字编辑好提交(输入)->论坛服务器(处理数据:标识是谁发的、属于哪个版块、哪个时间)->保存进入数据库->调用数据库内数据展示(二次处理,根据标识或者时间顺序展示等)。要至少经过这一个流程你的帖子才能发表在论坛上。

<?php 
/*
php xss 漏洞案例
文件名:1.php
触发:www.xxx.com/1.php?xss=[evilcode]
*/
echo $GET_['XSS'];
?>

以上是xss漏洞的交互逻辑:输入(从表单输入)-处理(前端、后端逻辑处理)-展示,漏洞在于处理输入的数据时没有考虑到数据中可能出现的风险,所以漏洞不在于输入时和展示时,而在于处理时,就如例直接展示输入的数据就造成了xss漏洞。
漏洞是在处理时,而没有输入也不会有处理,这是个有鸡还是先有蛋的问题,这个流程才是风险的所在,那么刷src艺术的关键就在寻找这个流程,就是寻找输入点,寻找到的输入点越多,你找到漏洞的可能性越大,他的流程越是复杂,你能在这一个流程上找到漏洞就越多。

寻找web流程/输入点(web前期情报收集)

如何刷src的第一步就是如何寻找这个流程,web常规流程:
(数据由人输入)->(经过http/https传输至)->(web服务器apache/nginx/iis接收并解码)->(脚本语言处理数据) 这就是一个能接受数据的web服务(网站),可以通过域名/IP访问。

域名:*.org *.com *.cn *.gov *.[a-Z]
IP:IPV4 0.0.0.0-255.255.255.255 IPV6 0:0:0:0:0:0:0:0 → ::

**_域名的规则_** : *.gov结尾的都是政府的web服务(网站)、*.edu结尾的都是学校/教育机构的web服务(网站),比如www.gov.cn(中国政府网) www.pku.edu.cn(北京大学),因为是中国的网站所以结尾多出了.cn,互联网企业都会拥有域名如:www.qq.com www.168.com,而因为业务庞大繁多等原因,域名都会出现多个子域名如*.qq.com *.163.com。 ![iYMGcD.png](https://s1.ax1x.com/2018/10/09/iYMGcD.png) 如图,子域名繁多,功能不一,都是完整web服务流程,而入口的区别只在于 \[\].qq.com 括号内0-9a-Z的组合。

IP的规则 :大家都有使用过路由器,很多人还操作过,一个家用路由器分配的ip:192.168.0.1-192.168.255.255,而分配的这些ip就叫做 ip段
iYMgBj.png 判断是不是属于某家企业的ip和当前ip属于哪个段,http://ipwhois.cnnic.net.cn/bns/query/Query/ipwhoisQuery.do?txtquery=211.152.128.0&queryOption=ipv4 iYM2Hs.png

利用以上域名和ip的规则大量收集web服务流程,是很重要的,能提高寻找到漏洞的概率,不过刷一家大厂的漏洞很难凭借ip来寻找到web服务,因为经过这么多年的攻防对抗,都禁止通过ip直接访问网站来防止恶意解析了,所以高效的方式还是通过域名。

经过我的测试,开源工具Subdomain相比与其他更加高效 数据更多,所以选择Subdomain+自己写的爬虫来做域名收集、url收集、表单收集、资产监控。
https://github.com/subfinder/subfinder

逻辑处理(web安全漏洞测试)

收集到的url: iYvJzT.png 其实收集到的是一个基于http/s格式可控的输入点。 iYvUL4.png http/https超文本协议,而所有的web端的输入 返回都遵守这个协议。 处理也是根据这个协议传输的格式进行处理,增\删\改\查,管理数据,是目标的业务场景。
处理中可能出现的漏洞风险: * xss * get_xss * post_xss * dom_xss * sql * 报错注入 * 盲注 * 时间延迟注入 * insert update 注入 * Mysql/Mssql/Oracle/PostgreSQL * 非关系型数据库mongodb * 命令/代码注入 * win/linux命令注入 * php/asp/jsp/.net/nodejs/python_web命令注入 * 越权 * 增/删/改/查/越权登录 * 敏感信息泄露 * 密码泄露 * cookie session泄露 * 个人信息泄露 * 商业/政务/军情信息泄露 * 逻辑漏洞
* 验证码爆破 * 支付修改金额 * xxe * ssrf
* 等

而这些漏洞带来的风险也是是逻辑处理环境而定,银行网站你输入的金额、个人资料也是输入点;核电站等工业设备你输入的参数;摄像头后台、汽车终端、atm等,基于环境暴露出的威胁也不一样。
改变输入内容,把输入内容改为对应以上攻击的恶意代码,就会造成风险危害。
漏洞靶场:http://testphp.vulnweb.com/

什么是艺术?

艺术就是技术的巅峰,如独孤求败、利剑-软剑-重剑-草木竹石皆可为剑-无剑胜有剑,把剑术练至出神入化无剑胜有剑的地步,从此天下在无敌手,这就是艺术。

纯手工测试漏洞、半自动测试漏洞、全自动测试漏洞。而我要打造自己的艺术,资产收集-漏洞测试-生成报告-提交漏洞报告,流程全自动。