美文网首页hacker
bWAPP学习笔记 - A3 Cross-Site Scrip

bWAPP学习笔记 - A3 Cross-Site Scrip

作者: 开口海螺 | 来源:发表于2019-05-12 19:41 被阅读0次

    XSS - Reflected (GET)

    Level:Low

    没有任何过滤措施的XXS
    任意脚本都可以
    <script>alert(1)</script>

    Level:Medium

    源码中使用了addslashes()函数来进行过滤

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤


    XSS - Reflected (POST)

    与上面的GET方法一样。


    XSS - Reflected (JSON)

    Level:Low

    本题中json是在客户端解析,需要做的就是重新拼合json内容
    payload: 1"}]' ; alert(1) //

    原始内容:


    拼合后内容:


    Level:Medium / High

    加入了htmlspecialchars()函数


    XSS - Reflected (AJAX/JSON)

    Level:Low / Medium

    通过AJAX调用了 xss_ajax_2-2.php?title=的返回
    所以2种玩法:

    1. 在页面内直接输入XSSPayload即可
    2. xss_ajax_2-2.php?title=页面也可以直接输入Payload
    Level: High

    源码中加入了JSON.parse()函数进行了过滤处理

    JSONResponse = JSON.parse(xmlHttp.responseText);
    

    XSS - Reflected (AJAX/XML)

    Level:Low

    本题最关键的在于了解 HTML的转义作用
    Payload: &lt;img src=0 onerror=&quot;alert(1)&quot;&gt;

    Level:Medium

    源码中使用了addslashes()函数来进行过滤,因为有转义,所以该函数无效。
    Payload: &lt;img src=0 onerror=&quot;alert(1)&quot;&gt; 依然可用

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤


    XSS - Reflected (Back Button)

    Level:Low

    本题关键点在 HTTP 头部的 Referer
    通过网页源文件查看,onClick引用的是 Referer 的值


    通过Burp Sutie修改 Referer 的值,以此来达到XSS的目的
    Payload:'"><img src=a.png onerror=alert(/xss/)>
    Level:Medium

    源码中使用了addslashes()函数来进行过滤,因为有转义,所以该函数无效。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤


    XSS - Reflected (Custom Header)

    Level:Low

    本题需要在HTTP的头部加入'bWAPP字段即可 Palyload: bWAPP: <script>alert(1)</script> `

    Level:Medium

    源码中使用了addslashes()函数来进行过滤,因为有转义,所以该函数无效。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤


    XSS - Reflected (Eval)

    Level:Low

    通过GET类型传递javascript函数
    Data()函数改为alert(1)即可

    Level:Medium

    源码中使用了addslashes()函数来进行过滤,因为有转义,所以该函数无效。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤


    XSS - Reflected (HREF)

    Level:Low

    可以发现name的值直接传递到了 <a>href参数中
    构造Payload闭合<a>标签,然后加入XSS
    Payload: 1>Vote</a><script>alert(1)</script>

    Level:Medium / High

    源码中使用了urlencode()函数来进行过滤。


    XSS - Reflected (Login Form)

    Level:Low

    使用万能密码: 1' or 1=1' 加入XSSPayload ,导致在mysql_error()函数报错时,执行html语句
    Payload: 1' or 1=1' <script>alert(1)</script>
    报错信息:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' <script>alert(1)</script>' AND password = 'bug'' at line 1

    Level:Medium

    源码中使用了addslashes()函数来进行过滤,因为有转义,所以该函数无效。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    phpMyAdmin BBCode Tag XSS

    Level:Low / Medium / High

    本题是关于BBCodeXSS
    phpmyadmin 中的error.php,可以直接饮用外链
    Payload: error.php?error=+[a@http://www.baidu.com@]XSS@[/a]



    XSS - Reflected (PHP_SELF)

    Level:Low

    没啥好说的,输入框直接上XSSPayload

    Level:Medium

    源码中使用了addslashes()函数来进行过滤。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    XSS - Reflected (Referer)

    Level:Low

    直接在Referer里加入XSSPayload即可

    Level:Medium

    源码中使用了addslashes()函数来进行过滤。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    XSS - Reflected (User-Agent)

    Level:Low

    直接在 User-Agent 里加入 XSSPayload即可

    Level:Medium

    源码中使用了addslashes()函数来进行过滤。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    XSS - Stored (Blog)

    Level:Low / Medium

    直接在输入框内填入Payload即可

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    XSS - Stored (Change Secret)

    Level:Low

    在输入框直接插入Payload , 在数据库中可以看到已经插入成功
    回到 SQL Injection (Login Form/User) 页面时,点击login,就发现XSS已经启动

    第二种玩法:
    在网页源码中可以找到 <input>hidden标签,修改为text,然后插入Payload
    "><script>alert(1)</script><"

    Level:Medium

    源码中使用了addslashes()函数来进行过滤。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。


    XSS - Stored (Cookies)

    本题讲的是XSS篡改

    Level:Low

    直接在浏览器地址栏里修改genre参数,即可修改对应的Cookies的值

    Level:Medium

    源码中使用了htmlspecialchars()函数来进行过滤。

    Level:High

    源码中限定了Cookies的值,不允许篡改


    SQLiteManager XSS

    Level:Low / Medium / High

    又是一个应用的XSS
    http://172.16.8.134/sqlite/index.php?dbsel=1
    构造闭合即可
    Payload: "><script>alert(1)</script>


    XSS - Stored (User-Agent)

    Level:Low

    User-Agent 会存储在数据库中,同时还是显示出来
    用Burp Sutie 直接抓包,修改 User-Agent 即可

    Level:Medium

    源码中使用了addslashes()函数来进行过滤。

    Level:High

    源码中使用了htmlspecialchars()函数来进行过滤。

    相关文章

      网友评论

        本文标题:bWAPP学习笔记 - A3 Cross-Site Scrip

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