bWAPP解法记录——XSS


bWAPP解法记录——XSS


bWAPP简介

​ bwapp是一个漏洞演示平台,包含100多个漏洞。可以单独下载安装,也可以下载虚拟机版本。此处给出下载地址:

https://sourceforge.net/projects/bwapp/

xss漏洞练习

跨站脚本攻击的终极思路:让输入的内容在页面中回显。


1-XSS - Reflected(GET)

1)low等级 未对输入进行过滤

在用户名和密码输入:

出现两个haha

2)medium等级 因为引号被转义,原方法失效。可用绕过转义,成功显示。

2-XSS - Reflected(POST)

​ 同上

3-XSS - Reflected(JSON)

观察关键源代码

<script>

        var JSONResponseString = '{"movies":[{"response":"HINT: our master really loves Marvel movies :)"}]}';

        // var JSONResponse = eval ("(" + JSONResponseString + ")");
        var JSONResponse = JSON.parse(JSONResponseString);

        document.getElementById("result").innerHTML=JSONResponse.movies[0].response;

    script>

可使用闭合json语句的方法,输入"}]}';alert(1);,成功显示。

bWAPP解法记录——XSS_第1张图片

4-XSS - Reflected(AJAX/JSON)

AJAX 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

使用常用语句 ,会出现重复(鬼畜)弹窗。

5-XSS - Reflected(AJAX/XML)

据说使用HTML转义字符或特殊实体可实现,如 <img src=x onerror=alert(1)>,然鹅在我的浏览器并没有成功。。

6-XSS - Reflected(Back Button)

Click the button to go to back to the previous page:

根据代码知——可改变onClick的值,用burp将Referer请求头修改为 ">

bWAPP解法记录——XSS_第2张图片

便会出现弹窗。

7-XSS - Reflected(Custom Header)

根据提示添加名为bWAPP的请求头,输入 bWAPP=

bWAPP解法记录——XSS_第3张图片

成功弹窗~

8-XSS - Reflected (Eval)

1、low

直接修改url里的date,可直接alert

2、medium等级

原方法失效,可利用eval执行函数

eval(String.fromCharCode(97,108,101,114,116,40,47,120,115,115,47,41))

9-XSS - Reflected(HREF)

可知 $name的值由我们输入,所以在投票处闭合a标签:

/> 成功xss

10-XSS - Reflected(Login form)

强行用sql注入的方法成功登陆,在此union上XSS内容即可:

' or 1=1,""

bWAPP解法记录——XSS_第4张图片

迷之成功。。

11-XSS - Reflected(phpMyAdmin)

遇到难题了= =,google一番后仍未找到可行方法…

12-XSS - Reflected(PHP_SELF)

直接用 XSS成功。

关于$_SERVER['PHP_SELF']的安全问题可参考:http://www.cnblogs.com/52php/p/5670068.html

13-XSS - Reflected(Referer)

添加Referer即可

bWAPP解法记录——XSS_第5张图片

14-XSS - Reflected(User-Agent)

显而易见,修改User-Agent即可

15-XSS - Stored(Blog)

low与medium等级均可通过实现。

16-XSS - Stored(Change Secret)

观察源代码,发现有隐藏的输入框~修改type属性由hidden到text:

bWAPP解法记录——XSS_第6张图片

bWAPP解法记录——XSS_第7张图片

在隐藏输入框输入"><",提交后html发生变化,同时xss成功。

17-XSS - Stored(Cookies)

尝试了几种方法,没有成功。。

18-XSS - Stored(SQLiteManager)

​ 在原页面看了一会没发现xss点,然后发现SQLiteManager是一个链接。。考点是这个版本的SQLiteManager页面有xss漏洞。

bWAPP解法记录——XSS_第8张图片

参考文档 在此。

构造url后,网页源码发生变化:

bWAPP解法记录——XSS_第9张图片

19-XSS - Stored(User-Agent)

抓包修改User-Agent值,为存储型XSS。


结语

​ bwapp内的XSS漏洞覆盖面较广,而一般只要找到攻击点基本就能够成功,所以难度不算太大。多数漏洞在不同的安全等级对输入进行了编码,medium对应addslashes,high等级使用htmlspecialchars。通过这次靶机的练习,我弥补了一些知识的空缺,有不少的收获~

你可能感兴趣的:(靶机)