zoukankan      html  css  js  c++  java
  • 学习xss模拟构造攻击(第一篇)

    本文作者:i春秋签约作家——rosectow

    0×00前言

    XSS又名叫CSS全程(cross site scriptting),中文名跨站脚本攻击,目前网站的常见漏洞之一,它的危害没有像上传漏洞,sql注入,命令执行,这种危害性极高的漏洞一样,但是大致xss与上面讲的这些漏洞不一样它是需要去被动式来完成攻击的,攻击者需要让管理员,用户等来配合完成攻击,xss它有三种语言编写,我们常见的是JavaScript ,比较少见的actionscript,VBScript,它们都是可以在html的标签中执行的。

    反射型的xss它是储存时间很短,在html的页面代码中,一但攻击者在网站植入反射型xss然后用户访问了就会被盗取cookie等等,存储型的xss是比较危险的一种xss,一般存储在网站保留用户数据的地方,一当用户访问就触发了攻击,dom型的xss先对也是比较隐蔽的,一般常见在url的get请求,这几种xss危害性最大的肯定就是存储型xss。

    Xss通常分为三种类型,第一种是存储型xss,第二种是反射型xss,第三种是dom型xss。

    Xss能做到的有盗取管理员,用户的cookie,url跳转,常用到的是盗取cookie,盗取到了管理员cookie那么我们也就可以登录管理员的账号了,那么这也就夸大了权限。

    0×01构造攻击

    1.jpg

     

    在网站中很明显我们的JavaScript代码已经被存进去了,但是为什么没有弹窗呢?问题在于标签下面对该页面body内的标签查看,在跟踪情况。

    这里已经将我们的JavaScript标签的alert(“xss”)过滤了,变成了无效的语句,<script>标签它还是亮着的,所以它是已经添加到代码里面去了

    2.jpg

    标签中只要<>xss<>内容不加入到标签里面它就会解析成文本内容,那么这时候就要更具其它的标签模仿构造,

    <script href=&quot;alert(123)&quot;>xss</script>

    变成这样,href是一个超级文本引用的标签,所以在这里这样构造测试,主要我们的弹窗已经加入到标签内

    3.jpg

    这次里面的内容都亮了,但是它还是不会弹窗,因为刚刚使用了href,href是一个超级文本引用标签,弹窗语句在里面就变成一个链接,重新来一次构造有效负载

    换成了这样的一个code,onmouseover是鼠标移动事件 anytag任何标签,这样构造然后在测试

    4.jpg

    这样一来鼠标移动到xss的位置,就自动弹出123的提示框,当然这也只能弹出自己的cookie,客服需要去点击也才能看到cookie,这种基本就已经没有作用了下面再来换一种方法来构造过滤问题。

    0×02 过滤模拟构造攻击

    5.jpg

    看到了我们的JavaScript语句已经给过滤了,正常的&lt;script&gt;&lt;/script&gt;标签以及带有攻击性的都是没办法成功载入的,我们的目的是达到弹窗或者获取cookie类

    6.jpg

    构造payload

    结果我的class 跟 alert 都被过滤了,在一次构造,跟踪一下它的代码,一下是跟踪代码的一些问题以及它的过滤问题。

    7.jpg

    This.$obj.$chatCtnId.append(This.customHtml(This.replaceFace(This.xssWhiteList(filterXSS(question)))));

    跟踪到这里对我的payload进行了过滤,在一次最终它的过程,分析看看能找到什么有效的绕过

    8.jpg

    跟踪到了网站对xss多种转义过滤,我利用了多种编码特殊字符都无法绕过,这也太强了吧!

    继续测试,多种样式的测试,主要考虑到代码中添加了多个名单,以及对敏感字符的过滤本接下来在一次构造payload,我多次构造,但是依然给过滤,无论是字符编码类的都无效,心累一天,最后我构造了一条这样的payload

    <a href=&quot;#javascript:alert(&#39;xss&#39;)&quot;>xss</a>

    9.jpg

    为撒它把我的符号过滤了每次它过滤都是直接吃了我的符号,这时候我也是闷逼了然后弹了一下,但是过程的确挺麻烦的到最后发现这样饶了

    正常它的代码中可以构造正常可用的payload

    都是可以不会遭到过滤的。

    阅读原文↙↙↙↙

  • 相关阅读:
    自定义动画animate()
    【Java】正则表达式
    【Java】连接数据库SQLServer
    【Java】导入导出TXT文件
    【数据库】SELECT语句
    数据结构与算法系列之目录
    【Java】员工统计
    【Java】生产者消费者模式
    【Java】购物超市
    【Java】导入导出Excel表格
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/7805498.html
Copyright © 2011-2022 走看看