第二篇 原理篇(2)上传 xss

2019-04-26  本文已影响0人  留白_bb77

解析漏洞

IIS6.0在解析文件时存在以下两个解析漏洞。

1.当建立*.asa、 *.asp 格式的文件夹时,其目录下的任意文件都将被IIs当作asp文件来解析。

2.当文件为* .asp;1.jpg时,IIS 6.0同样会以ASP脚本来执行

Apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后向前解析,直到碰到认识的扩展名为止,如果都不认识,则会暴露其源代码。

绕过客户端检测

当单击“提交”按钮后, Form表单将会触发onsubmit事件, onsubmit事件将会调用checkFile函数。checkFile 函数将会检测文件扩展名是否合法,并返回一个布尔值。如果checkFile函数返回true,则表单提交,反之,将弹出对话框提示“文件不合法",文件将无法提交到服务器。

1.使用firebug删除onsubmit事件

2.使用burpsuite修改扩展名,在HTTP协议中有请求头Content-Length,代表实体正文长度,如果此时的filename 修改也就意味着实体正文长度增加或者减少了,这时就应该修改Content-Length请求头

绕过服务器检测

黑名单:1.大小写 

2.从黑名单中找到Web开发人员忽略的扩展名

3.在Windows系统下,如果文件名以“.”或者空格作为结尾,系统会自动去除“.”与空格,利用此特性也可以绕过黑名单验证。

白名单

mime验证

目录验证  在文件上传时,程序通常允许用户将文件放到指定的目录中,然而有些Web开发人员为了让代码更“健壮”,通常会做-一个操作,如果指定的目录存在,就将文件写入目录中,不存在则先建立目录,然后写入

截断上传攻击

文本编辑器上传漏洞 

敏感信息暴露  黑名单策略错误 任意文件上传漏洞

上传漏洞最终的形成原因主要有以下两点:

1.目录过滤不严,攻击者可能建立畸形目录:

2.文件未重命名,攻击者可能利用Web容器解析漏洞。

修复

1.接收文件及其文件临时路径。

2.获取扩展名与白名单做对比,如果没有命令,程序退出。

3.对文件进行重命名。

xss类型

反射型  

存储型(持久型)  

DOM XSS全称为Document Object Model,即文档对象模型,DOM通常用于代表在HTML、XHTML和XML中的对象。使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式。

通过JavaScript可以重构整个HTML页面,而要重构页面或者页面中的某个对象,JavaScript就需要知道HTML文档中所有元素的“位置”。而DOM为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。根据DOM规定,HTML文档中的每个成分都是一一个节点。

DOM的规定如下。

1.整个文档是一一个文档节点;  

2.每个HTML标签是-一个元素节点:

3.包含在HTML元素中的文本是文本节点:

4.每一个HTML属性是一个属性节点:

5.节点与节点之间都有等级关系。

HTML的标签都是-一个个节点,而这些节点组成了DOM的整体结构:节点树

检测xss

手工检测

1.可得知输出位置

      输入一些敏感字符,例如“<、>、”、’、()”等,在提交请求后查看HTML源代码,看这  <些输入的字符是否被转义。

      在输出这些敏感字符时,很有可能程序已经做了过滤,这样在寻找这些字符时就不太容易,这时可以输入“AAAAA<>"”&"字符串,然后在查找源代码的时候直接查找AAAAA或许比较方便。

      2.无法得知输出位置

      非常多的Web应用程序源代码是不对外公开的,这时在测试Xss时就有可能无法得知输入数据到底在何处显示,比如,测试某留言本是否存在xss,那么在留言之后,可能需要经过管理员的审核才能显示,这时无法得知输入的数据在后台管理页面处于何种状态,例如:

      在<div>标签中: <div>XSS Test </div>

      在<input>标签中: <input type="text" name="content" value= "XSS Test" 1>

对于这种情况,通常会采用输入“”/>XSs Test"来测试。

软件自动检测

xss利用

xss会话劫持

xss framework

xss getshell

xss 蠕虫

修复

htmlspecialchars()、 htmlentities0函 数可以把一些预定义的字符转换为HTML实体。

& (和号)成为&amp:

”(双引号)成为&quot;  <

' (单引号)成为&#039;

< (小于)成为&It;

> (大于)成为&gt。

编码(HTML css  js)

httponly阻止客户端脚本访问cookie

上一篇下一篇

猜你喜欢

热点阅读