zoukankan      html  css  js  c++  java
  • XSS 渗透思路笔记

    了解XSS首先要了解HTML里面的元素:共有5种元素:空元素、原始文本元素、 RCDATA元素、外来元素以及常规元素。

    空元素
    area、base、br、col、 command、 embed、hr、img、 input、keygen、ink、meta、 param、 source、tack、wtbr
    原始文本元素
    script、stye
    RCDATA元素
    textarea、tte
    外来元素
    来自 MathML命名空间和SvG命名空间的元素。
    常规元素
    其他HTML允许的元素都称为常规元素。

    常用JS事件
    on Click()
    on Error()
    on Focus()
    on Copy()
    on Mousewheel()
    on MouseOver()

    弹窗函数:aert、 prompt、 confirm
    html中使用 script标签调用弹窗函数构造弹窗语句示例:<script>alert("xss")</script>


    XSS漏洞的本质是一种注入,是一种静态脚本代码的注入。
    那么大体挖掘思路就显而易见了:寻找可控点参数)->尝试注入

    跨站脚本出现场景分析

    1:输出内容在标签内
    普通标签如<pre>内

    <pre>[----用户输入----]</pre>

    <html> 
      <head></head>
      <body>
        <pre>
            <svg onload="alert(1)"></svg> 
        </pre>
       </body>
    </html>


    RCDATA标签如< textarea>内

    需要先闭合Textarea标签,然后再新建标签触发XSS

    <html> 
      <head></head>
      <body>
        <textarea></textarea>
            <svg onload="alert(1)"></svg> 
       </body>
    </html>
    

      

    输出内容在标签属性中
    输出在普通标签的value属性中

    相关案例
    <input type='text' value='[---用户输入---]'>
    测试方法
    1.闭合单双引号(" , ')(属性),然后定义一个新的事件,在件里执行对应的 Payload进行触发。例如上面样例,利用
    方法如下
    <input type="text” value=" onclick="alert(1)">     (" onclick="alert(1)为输入)
    
    通过闭合vaue属性的双引号后。新定义了 onclick事件,只需要点击该标签即可触发
    
    2.闭合单双引号("、')(属性)后直接闭合标签, 然后自行新建标签进行触发,例如上面样例,利用方法如下:
    
    < input type="text” value=""><svg/onload=alert(1)>">   ("><svg/onload=alert(1)>为输入)
    
    通过闭合vaue属性的双引号后,然后再写入>闭合了前面的nput标签,然后新建了svg标签操作进行触发。

    输出在src/href属性中(考虑使用协议)利用协议(常用的JavaScript协议,data协议)

    <iframe src="javaScript:alert(1)"></iframe>   (javaScript:alert(1)为输入)

    输出内容在script标签中:尝试闭合原js语句进行触发

    输出内容在Content-type为text/javascript的响应包中尝试闭合原js语句进行触发;

    输出内容在CSS代码中:IE浏览器支持CSS中的 expression,利用类似此表达式可以执行XSS。(IE678下通用):

    <span style="color:1;x:expression(alert(/xss/));"></span>
  • 相关阅读:
    Charles抓包工具
    JQuery 实现表单验证,所有验证通过方可提交
    卡巴斯基注册信息清除
    Nginx 404 Not Found 解决办法
    php mysql 多表查询之子查询语句
    搜狗拼音、QQ拼音输入法、2345拼音输入法、百度输入法 、手心输入法对比。(个人体会)
    Notepad++使用-如何导出/导入配置文件
    深蓝词库转换2.4版发布,支持最新的搜狗用户词库备份bin格式
    网站更换服务器,百度站长后台抓取诊断时间
    阿里云代金券领取
  • 原文地址:https://www.cnblogs.com/SonnyYeung/p/12760230.html
Copyright © 2011-2022 走看看