Web For Pentester靶场搭建 - XSS
Web For Pentester是集成了一些简单的Web常见漏洞的靶场,其中有常见的XSS 文件上传 SQL注入 文件包含等常见漏洞,类似于DVWA
Web For Pentester搭建
Web For Pentester官方直接提供了一个ISO的镜像文件
下载地址:https://www.pentesterlab.com/exercises/web_for_pentester/attachments
直接安装在VMware即可使用

占用空间很小,改为桥接模式,给2G空间,内存512MB就可以,当然也可以更小

完成后进入虚拟机,直接输入ip a,查看靶机IP地址为172.16.1.103

使用物理机浏览器访问靶机http://172.16.1.103

搭建完成
XSS Example 1

这里并没有显示源码,就是黑盒测试,可以看到将name传参的内容使用hello + 传参内容拼接输出到了页面
这使用<script>alert('xss')</script>,进行弹窗测试
payload:http://172.16.1.103/xss/example1.php?name=<script>alert('xss')</script>

弹窗成功
XSS Example 2
直接使用<script>alert('xss')</script>弹窗失败

由于看不到源码,猜测可能是将<script>标签进行了过滤,尝试双写绕过<sc<script>ript>alert('xss')</sc</script>ript>

弹窗成功,也有可能只过滤了小写的script标签,所以也可以进行大小写绕过
<SCRIPT>alert('xss')</SCRIPT>

弹窗成功
XSS Example 3
直接进行<sc<script>ript>alert('xss')</sc</script>ript>双写绕过

弹窗成功
XSS Example 4
尝试<script>alert('xss')</script>弹窗,发现返回error

猜测可能是黑名单,使用<script>和</script>测试


很明显这里对<script>标签进行了黑名单检测,使用<img>标签进行测试
payload:<img src=1 onerror=alert('xss') />

使用img标签自动加载特性,请求1,由于加载错误,使用onerror当错误时事情属性,执行alert弹窗
XSS Example 5
经过测试发现,将alert进行了黑名单,但是并没有对<script>进行黑名单

prompt绕过
使用prompt进行弹窗
payload:<script>prompt('xss')</script>

弹窗成功
comfirm绕过
也可以使用comfirm进行弹窗
payload:<script>confirm</script>

弹窗成功
String.fromCharCode Unicode编码绕过
也可以使用Unicode编码进行绕过
javascrpt中String.fromCharCode方法可以将Unicode转换为字符串
使用在线工具计算alert('xss')的Unicode值,为97,108,101,114,116,40,39,120,115,115,39,41

payload:<script>eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))</script>

弹窗成功
XSS Example 6
传入test进行测试

发现传参直接在<script>中,所以我们需要响闭合SQL注入语句一样闭合js代码
payload:";alert('xss')//,//在js中是注释,;代表js中一句代码的结束

弹窗成功
XSS Example 7
直接传入hacker进行测试

所以与Example 6关卡一样,不过是将"改为了'闭合的方式
payload:';alert('xss')//

弹窗成功
XSS Example 8
设置了一个输入框,直接进行弹窗测试

没有将<script>标签进行解析为js,这里应该是将我们的标签进行了实例化
通过观察,action为提交体质,method为提交方式POST

action会从获取url中的提交地址,那么我们直接在url中输入/">就可以闭合form标签

其中/代表文件结束,"闭合action属性值,>闭合form标签
在后面紧跟<script>alert('xss')</script>就可以执行弹窗
拼接payload:/"><select>alert('xss')</select>

观察源代码

弹窗成功
XSS Example 9
检查源代码进行分析

通过location.hash直接获取url中#号后面的内容,并且直接写入到了页面
所以直接传入<script>alert('xss')</script>就可以弹窗

这里乱码,在网上查找大佬的教程,这里Chrome和Firefox都会对<>进行编码,所以没有执行成功
在IE浏览器中测试成功

Web For Pentester靶场搭建 - XSS的更多相关文章
- Web For Pentester靶场(xss部分)
配置 官网:https://pentesterlab.com/ 下载地址:https://isos.pentesterlab.com/web_for_pentester_i386.iso 安装方法:虚 ...
- Web For Pentester 学习笔记 - XSS篇
XSS学习还是比较抽象,主要最近授权测的某基金里OA的XSS真的实在是太多了,感觉都可以做一个大合集了,加上最近看到大佬的博客,所以这里我也写一个简单的小靶场手册,顺带着也帮助自己把所有XSS的方式给 ...
- 【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 下载链接及文档说明: http://pentesterlab.com/ex ...
- 搭建DVWA Web渗透测试靶场
文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...
- Pentester中的XSS详解
本次做的是Web For Pentester靶机里面的XSS题目,一共有9道题目. 关于靶机搭建参考这篇文章:渗透测试靶机的搭建 第1题(无过滤措施) 首先在后面输入xss: http://10.21 ...
- web渗透漏洞靶场收集
最近将自己遇到过或者知道的web靶场链接奉上 0X01 DVWA 推荐新手首选靶场,配置简单,需下载phpstudy和靶场文件包,简单部署之后即可访问. 包含了常见的web漏洞(php的),每个漏洞分 ...
- 搭建XSS测试平台
XSS测试平台是测试XSS漏洞获取cookie并接收web页面的平台,XSS可以做js能做的所有事情,包括但不限于窃取cookie,后台增删文章.钓鱼.利用xss漏洞进行传播.修改网页代码.网站重定向 ...
- 搭建漏洞环境及实战——搭建XSS测试平台
XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台,XSS可以做成JS能做的所有事,包括但不限于窃取cookie.后台增删文章.钓鱼.利用CSS漏洞进行传播.修改网页代码.网站重定向 ...
- 【渗透测试学习平台】 web for pentester -2.SQL注入
Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...
随机推荐
- Unity Random
Random 不仅可以随机值,还可以随机其它属性,用了这么久,刚知道... 譬如: rotation 随机Rotation onUnitSphere 球体表面随机点 insideUnitCircl ...
- Linux服务器时间校准
当发现系统时间不正确时可以通过 date 命令查看Linux系统的当前时间 最简便的修改方法,我们可以通过 date -s "20190917 22:04:00" 来直接修改Lin ...
- JS中split、slice、splice区别
splite 定义:该方法是切割字符串的一种方法,该方法主要用于把一个字符串分割成字符串数组并且返回新生成的数组.用于字符串对象 语法:str.split(separator,howmany) 返 ...
- RN 使用react-native-video 播放视频(包含进度条、全屏)
21年12月3日,阐述上有问题:应该将问题拆分,不该将代码整一大堆,看着很不舒适 目标需求:1. 实现视频播放 2. 进度条 3. 进入全屏 目标图是这样的: 需要三个组件 1. 播放视频组件, re ...
- js本地时钟
js本地时钟,如上图所示,秒是跳动的 1 // 本地时钟 2 function clockon() { 3 var now = new Date(); 4 var year = now.getFull ...
- python 列表中随机抽取多个数
方法一:[random.randint(0,100) for _ in range(2)]输出: [34, 44]方法二:list中随机去取K个数list=[1,2.3,......] random. ...
- PSPNet 代码分析
https://www.lmlphp.com/user/62501/article/item/1225624/ train.py 网络训练主函数,主要操作有: 传入训练参数:通常采用argparse库 ...
- linux火狐添加flash插件
从官网上 adobe flash player 全版本通用安装 找到 linux 版本的 .gz 包, 复制下载链接 linux命令 su - cd /tmp wget -P /tmp https: ...
- win10版本eclipse安装教程——
第一步:下载jdk,配置环境 见我第二篇博客有说明:点击即可进入 第二步:下载eclipse 点击即可进入官网下载 点击 Download Packages,进入eclipse下载页面.从 Eclip ...
- UE C++教程之接口 UINTERFACE
我是谁不重要,重要的是,我能做什么. 近期笔者在进行UE的开发时,实现多武器的换弹与开火需要用到接口.而笔者以前是做Unity开发的,遂没有使用过UE C++的UINTERFACE,而这个接口在使用过 ...