Pikachu-XSS(跨站脚本)

XSS(跨站脚本)概述javascript

Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS。通常XSS能够分为以下几种常见类型:
    1.反射性XSS;
    2.存储型XSS;
    3.DOMXSS;html


XSS漏洞一直被评估为web漏洞中危害较大的漏洞,在OWASP TOP10的排名中一直属于前三的江湖地位。
XSS是一种发生在前端浏览器端的漏洞,因此其危害的对象也是前端用户。
造成XSS漏洞的主要缘由是程序对输入和输出没有作合适的处理,致使精心构造的字符输出在前端时被浏览器看成有效代码解析执行从而产生危害。
所以在XSS漏洞的防范上,通常会采用对输入进行过滤输出进行转义的方式进行处理:
  输入过滤:对输入进行过滤,不容许可能致使XSS攻击的字符输入;
  输出转义:根据输出点的位置对输出到前端的内容进行适当转义;前端

 


 

反射型xssget

1.先输入 1 测试一下看返回什么,随便输入其余字符,发现没作过滤java

 

 

 

 

2.查看页面审核元素,发现输入框长度只有20,修改成40web

 

 

 

 

3.尝试xss利用,<script>alert('xss')</script>浏览器

 

 

 

 


 

反射型xsspost

1.经过提示先登陆进去cookie

 

 

 

 

2.查看登录者的cookie信息,<script>alert(document.cookie)</script>dom

 

 

 

 


 

存储型xss

1.在留言板里尝试插入xss代码,无过滤,<script>alert('xss')</script>xss

 

 

 

 


 

DOMxss

1.查看审查元素,须要构造一下,调用domxss()函数函数

 

 

 

 

 

 

 

2.尝试xss利用,' onclick="alert('xss')">

 

 

 

 

3.也能够,'><img src="#" onmouseover="alert('xss')">

 

 

 

 


 

DOMxss-x

1.DOMxss同样, ' onclick="alert('xss')">

 

 

 

 

2.也可,'><img src=1 onerror="alert('xss')">

 

 

 

 


 

xss之盲打

1.输入提交,<script>alert('xss')</script>

 

 

 

 

2.登陆后台查看

 

 

 

 


 

xss之过滤

1.尝试,<script>alert('xss')</script>

 

 

 

 

2.发现被过滤,换个语句尝试,<img src=1 onerror="alert('xss')">

 

 

 

 

3.经过大小写也可绕过过滤,<sCript>alert('xss')</sCript>

 

 

 

 


 

xsshtmlspecialchars

1.尝试构造,'><img src=1 onerror="alert('xss')">

 

 

 

 

2.htmlspecialchars函数的做用:该函数把预约义的字符转换为 HTML 实体预约义的字符是 & " ' < > 这五个,即转化为 &#xxx的形式。默认状况下为只过滤双引号,若设置为ENT_QUOTES则单双引号均被过滤。输入'1'查看

 

 

 

 

未过滤单引号'<a href="" 1''="">'1'</a>,输入的单引号没有被过滤的话,通过htmlspecialchars后拼接到html语句中会自动换成双引号

 

3.构造,' onclick='alert(/xss/)'

 

 

 

 


 

xsshref输入

1.尝试,' onclick='alert(/xss/)'

 

 

 

2.审查返回的元素发现全部字符都被转化为HTML实体了,包括单引号。
但因为输入的url拼接在 <a href='输入的内容'>属性中,可使用javascript语法来构造语句javascript:alert('xss')

 

 

 


 

xssjs输出

1.尝试,javascript:alert('xss')

 

 

 

2.构造,';alert(/xss/)//

 

相关文章
相关标签/搜索