xss(reflected)
输入 <script>alert(/xss/)</script> ,出现弹窗,说明存在xss漏洞
查看核心代码
<?php
header ("X-XSS-Protection: 0");
// Is there any input?
if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {
// Feedback for end user
echo '<pre>Hello ' . $_GET[ 'name' ] . '</pre>';
}
?>
可以看到对变量name未做任何过滤,所以直接攻击
构造获取cookie的JavaScript代码:<script>alert(document.cookie)</script>
构造页面跳转JavaScript代码:,提交即可自动跳转至该页面
xss (stored)
在name一栏随便输个名字,但这里有字数限制(这就是为什么不在name栏里执行js的原因)
在Massage一栏输入<script>alert(/xss/)</script>,有xss弹窗,存在漏洞
继续输入<script>alert(document.cookie);</script>
XSS(DOM)
查看核心代码,没有任何防护
<?php
# No protections, anything goes
?>
修改default = <script>alert(/xss/)</script>,出现弹窗
发现Name和Message都有字数限制,F12找到maxlength,修改其值的大小