您的位置:首页 > 其它

web for pentester 之xss 篇

2015-11-09 17:52 246 查看
1、很明显了,地址栏里name=hacker。直接name=<script>alert(1)</script>。

2、还是先试一下<script>alert(1)</script>,,输出只有alert,script不见了,先换大小写试一下,成功了。。

3、还是先试一下<script>alert(1)</script>,发现还是只输出了alert(1),换大小写也没有用,我的<script>和</script>呢,肯定是后台被注释掉了,那就这样<scri<script>pt>alert(1)</sc</script>ript>。

这样他注释掉一个我们还有一个。

4、你会发现中间插多少script都不管用了,,,他一旦发现一个script,直接就error,不执行了。那就是说不能用script了。我们还有其他方法,比如<img>。像这样,<img src=x onerror=alert(1)>。给图片一个不存在的src,出错之后自然执行onerror,就alert了、。

5、这个就更惨了,alert都不能用,出现alert直接给你gg。。当时实在是没办法,查到一个alert的替代函数,confirm。可以弹窗,但是申神说不是每个函数都有替代的,还是用eval通用性好,正常使用方法如下:<script>eval(String.fromCharCode(97,108,101,114,116,40,39,97,39,41))</script>。一开始我没有发现String.fromCharCode这句,就发现这eval怎么不好使啊,,,就开始了自己yy的过程。既然你把alert用正则匹配出来给拿掉,我就把alert分开嘛。。当然还是用eval,查了好多文档,说eval的用法是使执行,就是可以执行里面的js脚本,里面的变量是字符串型的。这样的话。,我们把alert分开就像这样:<script>eval("al"+"ert"+"(1)")</script>。诶不出现error了。,说明有希望了,这样的alert他是匹配不出来的,但是依旧不弹窗,为啥啊。等我关了电脑之后请教了申神,原来是URLencode的原因,他会把一些字符转义,比如说+会变成空格,详情可以百度一下。。不对,google一下。那我们f12观察一下代码也会发现里面的+真的是空格。。。。ftd。然后真正的+怎么表示呢??
没错,  %2B   ,就是这个。换上这个之后成功!

6,7这俩题目差不多,刚学的CTRL + U 开view source看一眼,

var $a= "hacker";

定义了一个变量等于hacker,直接搞一个"进去吧原来的给闭合了,搞定。

8、还是ctrl+u先看一下。。有个表单,看起来很复杂。填什么东西他都原样输出,这。。。。在仔细一看,form的action是个链接,链接。那我们直接在url里面给他吧form闭合了,然后插入我们的alert,搞定。。PS:这个题其实我看了后台源码了,一开始是在没思路、、、

9、然后第九题我们不能再用ctrl+u了,,如果打开的话你只能看见一行js  

document.write(location.hash.substring(1));

什么gui这是,各种搜索location,hash。原来是输出url里面#后面的内容,那直接插入我们的alert啊,,不管用!!刷新也没用。然后又是一番请教。这次要用F12,看一眼,果然#后面的东西输出了,在原来的js语句的下面。单独的。可是我的<却被转成了%3C。啥情况,然后又是一番挣扎我们换了一个浏览器,PS:原来是用的火狐。然后一刷新就成功了,,,WTF。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: