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看一眼,
定义了一个变量等于hacker,直接搞一个"进去吧原来的给闭合了,搞定。
8、还是ctrl+u先看一下。。有个表单,看起来很复杂。填什么东西他都原样输出,这。。。。在仔细一看,form的action是个链接,链接。那我们直接在url里面给他吧form闭合了,然后插入我们的alert,搞定。。PS:这个题其实我看了后台源码了,一开始是在没思路、、、
9、然后第九题我们不能再用ctrl+u了,,如果打开的话你只能看见一行js
什么gui这是,各种搜索location,hash。原来是输出url里面#后面的内容,那直接插入我们的alert啊,,不管用!!刷新也没用。然后又是一番请教。这次要用F12,看一眼,果然#后面的东西输出了,在原来的js语句的下面。单独的。可是我的<却被转成了%3C。啥情况,然后又是一番挣扎我们换了一个浏览器,PS:原来是用的火狐。然后一刷新就成功了,,,WTF。
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。
相关文章推荐
- java序列化作用
- 表单验证
- Scenes and Transitions(2)——创建场景
- java异常处理
- hdu 1272 小希的迷宫
- Microsoft、Google、Facebook的erasure code技术进展及系统分析
- 数组合并
- iOS小demo之image图形(简单的image)
- we are the champion!!!!
- hdu 1272 小希的迷宫
- [ActionScript 3.0] AS3实现图像径向转旋效果
- 在VirtualBox虚拟机中运行ubuntu 常见问题汇总
- 常用排序算法总结(简单数组实现,其他类似)
- gulp教程之gulp-uglify
- 数据归一化和两种常用的归一化方法
- 支持addHeaderView、 addFooterView、分页加载数据的RecyclerView
- JavaIO流
- 拜勒公式
- 移动0
- iOS 静态库和动态库的区别&静态库的生成