美文网首页
XSS绕过学习【转载】

XSS绕过学习【转载】

作者: tdbrlly | 来源:发表于2019-01-25 09:44 被阅读0次

1,绕过单引号

我们假设管理员在我们的单引号之前放置了一个“\”,有时候双引号之前也会放置,通

过一些类似 add_slashes 的函数可以实现,这个就是转义字符,我们先前的代码就会变成这样:

alert(\"XSS\")'>

有一些方法可以继续,但是要看过滤的那个函数是怎么放的了。其中一个方法就是使用字符实体,学过 html 的都知道,就是一些特殊字符会用一些固有的符号组合来表示,举个例子,你不能用<>表示大于和小于, 因为这被解释为 html标签,但是,你如果要用,可以用下面的来代替。

&#34;&quot;"双引号

&#38;&amp;&&符号

&#60;&lt;< 小于号

&#62;&gt;> 大于号 

使用"或者"

来代替我们的双引号,有时候可以绕过过滤。 例子:

alert("XSS")

alert("XSS")

alert(&XSS&)

如果这都被过滤了。那我们可以使用 JavaScript 的 fromCharCode 函数,这个函数把指定的 Unicode

值转换成字符串。

比如:

alert("XSS")

alert(String.fromCharCode(88,83,83))

alert(String.fromCharCode(88,83,83))'>

你可以使用 Mysql 数据库的 char(字符,字符)来转换字符到字符码,大家可以使用自己喜欢的就行了。

转码的工具还是很多的。

2,绕过 <SCRIPT> 过滤

有些过滤器会过滤到标签,那上面的例子就都废了,但是。还是有方法插入 javascript 的。我

们看看事件处理器的例子。

在 html 里啊。这个 Onload 关键字就是一个事件,其他的所有标签都没有这个属性,但是 Body 标签是 有的。但是,有一定的局限性,如果 onload 事件在你的代码之前已经被处理了。那就不会触发了。。不 过我们可以继续看看 onerror 事件处理。

注意看,图片没有指定,也就是出错了。Onerror 这个事件就会发茶。引发 XSS 漏洞,没有用

标签哦。

3,使用 IMG 源

Html 中最常用的两个标签 img 和 a href 一般是不会过滤的,一个指定图片,一个指定超链接。最危险的

事 img 标签。 下面是一些例子:

标准的样子:

没有双引号和分号:

过滤了双引号和:

使用  CharCode 绕过过滤:

有经验的攻击者也可以把上面的全部转换成相等的 Ascii 码:

1; rt('XSS')>

使用 Ascii 表你可以自己试试。当然转换成 16 进制也是可以的。。

;& #x65;rt('XSS')>

4,使用制表符, 换行符和回车符

这些符号都是可以用来欺骗过滤器的。

上面的例子使用了最小的十六进制的制表符来欺骗过滤器。最后的输出结果不变

TypeHorizontal TabNew lineCarriage Return

URL%09%10%13

Minimal Sized Hex&#x9&#xA&#xD

Maximum Sized Hex&#x0000009;&#x000000A;&#x000000D;

Minimum Sized Decimal&#9&#10&#13

Maximum Sized Decimal&#x0000009;&#x0000009;&#0000009;

5,使用空白符

另一个可以绕过的就是空字符,这是最有效的工具了。。

下面这个就是个例子。:

alert("XSS")

空字符  (%00) 使得过滤器不能看到完整的  标签. 只在 IE 6.0, IE 7.0 可以。

6,双引号配对的 bug

绕过这种过滤就是寻找闭合的标签,然后构造来突破

比如:

通常我们认为,img 标签里。前两个引号被认为是一对,什么都不做,下一个引号和最后的匹配,但是事 实不是这样,所有的浏览器都在试图修正这一问题。

结果最终如下:

7,绕过css过滤器

HTML 标签用来插入 javaScript 很有用,但是 CSS 也是可以的哦。有很多方式向 CSS 里插入 XSS,所

有更多的方法可以攻击,嘴尖的方法是吧 XSS 代码放到 LINK 方式引用的 CSS 的 href 属性里面去

Ie7 已经不允许了。但是 opera 和 ie6 还是可以的。。 另一个方式是使用标签,不是很常见,一般是论坛啊。允许用户设计自己的贴的源代码的时候。

 a { width: expression(alert('XSS')) } 

还有一种方式

8,不全面的过滤器

我们看看当开发者已经把能想到的都过滤了或者什么的。就安全了吗?不。我们可以依然可以向数据指令

(我前段时间还看到了。现在忘了这个准确的翻译了)里插入代码。我们通过 base64 加密

alert(‘XSS’).

K"> 数据指令允许我们把完全的文档变成一个单一的字符串。在火狐等浏览器都可以用。尼玛没说具体的用法。 使用双引号

如果你需要使用双引号和单引号。使用一些诡异的用法把。。

<IMG SRC=`javascript:alert("Look its, 'XSS'")`>

9,转义字符

转义字符有时候很有用,可以对付一些简单的过滤器

结果如下:

10,编码

使用 utf-7 编码可以绕过

比如

alert("XSS")

使用  UTF-7 编码后 :

+ADw-script+AD4-alert(+ACI-XSS+ACI-)+ADw-/script+AD4-

然后所有的加号需要被改成%2b,否则会被浏览器识别为连接符

%2BADw-script%2BAD4-alert%281%29%2BADw-/script%2BAD4-

一个列表:

------------------------------------------------

字符实体引用

空格%20

/%2F

"%22

?%3F

+%2B

Ok。就这样。

==========================================

绕过 “<” 的过滤:

http://blog.ourren.com/2012/09/03/xss_bypass_technology.html

相关文章

  • XSS绕过学习【转载】

    1,绕过单引号 我们假设管理员在我们的单引号之前放置了一个“\”,有时候双引号之前也会放置,通 过一些类似add_...

  • xss绕过

    当常见标签被过滤时,可以尝试以下几种,亲测有效 更多参考www.freebuf.com/articles/web/...

  • XSS 绕过

    javascript 1、JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript...

  • XSS绕过WAF

    http://www.freebuf.com/articles/web/54686.html

  • XSS绕过姿势

    0x01 简单介绍 一个文件上传点是执行XSS应用程序的绝佳机会。很多网站都有用户权限上传个人资料图片的上传点,你...

  • XSS 绕过方法

    1、大小写混用 2、拼凑后台可能对一些字符过滤了一次,但是过滤后的其余字符又重新拼凑 3、注释干扰 4、使用img...

  • xss编码绕过

    对于xss等有关的html,url,unicode编码做的一个小总结。 - 奶奶奶奶奶糖 - 博客园

  • XSS攻击(Cross Site Scripting)

    参考资料:[1]. 浅谈XSS攻击的那些事(附常用绕过姿势)[2]. XSS(偷你的Cookies) 什么是XSS...

  • 绕过XSS-Filter

    绕过XSS-Filter (1)利用<>标记 XSS-Filter通常过滤转义“<>”“ ”等字符 (2)利用HT...

  • 风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧

    风炫安全WEB安全学习第二十六节课 XSS常见绕过防御技巧[https://www.bilibili.com/v...

网友评论

      本文标题:XSS绕过学习【转载】

      本文链接:https://www.haomeiwen.com/subject/njgcjqtx.html