from:5up3rh3i'blog
浅谈web漏洞挖掘—特殊变量fuzz?
目前对web应用程序漏洞的挖掘方法有:
1.纯粹的黑盒[如:AWVS、APPScan等]
2.纯粹的白盒[如:grep等]
一些其他的方法如coolq大牛基于php内核编译器[这个思路早些跟boy说过,不过马来人比我还懒,谁叫按不懂c呢]。
在《web代码安全边缘性问题》里,提到了一些代码“非主流?”一些漏洞模式,里面提到的查找方法主要是基于grep“静态”分析代码。这里我给大家介绍下我的“动静结合”的一些其他的思路。
一、实现思路
基于http代理把构造的变量提交个目标。“动静结合”首先通过grep的静态分析出“可能”有问题的变量[静],然后构造这些变量通过我们的fuzz工具,也就是代理服务器提交给目标,如果通过浏览器[ie、ff等]触发。
二、特殊变量
1.Header变量
Header变量的问题在《web代码安全边缘性问题》提到过,很容易被忽视,那么我们基于http代理我们很容易植入我们的变量如:
$headers{"X-Forwarded-For"}="Test31425926’";
a.对于基于sql的程序很容易造成sql注射如:
Sablog-XVer1.1getip()Vulnerability
b.对于文本数据库很容易造成phpcode注射如:
Bmb
D:\>Findstr/S/I/N/dbig_smile:\phproot\bmb2007\bmb\"Test31425926"*.php
D:\phproot\bmb2007\bmb\:
datafile\guest.php:2:<?php//|娓稿|1163859032|Test31425926?ˉ|f|0|Firefox1.5.0.8|Windo
wsXP|t||
容易出现问题的header变量:X-Forwarded-For、User-Agent、CLIENT-IP…还有Referer对限制来路的突破
2.全局变量
a.zend_hash_del_key_or_index_vulnerability:
b.php5-globals-vulnerability:
c.变量/数组变量未初始化
在fuzz脚本里我们可以通过cookie提交。
3.Upfile漏洞fuzz
常见模式:
1.直接上传[没有任何过滤]
2.被动过滤[过滤不完全:php3php4asacer…]
3.Content-Type
4.Null截断
5.Apache文件解析特性
6.PHPRFC1867Vul
7.后缀大小写规则
4.二次攻击的fuzz
二次攻击的主要类型是变量通过UPDATA或者INSERT提交给数据库[包括文本数据库],然后在提取造成二次攻击,如果我们通过fuzz脚本自动提交构造的变量,再通过浏览器正常的访问来探测触发。