xss-labs
。。。
level1
有个回显,那么替换成js代码。
<script>alert(‘xss’)</script>
#alert是一个弹窗,所有的js代码都要放在<script>里面才会被当作js代码执行
- 在控制台输入代码调用
<h2 align=center>欢迎用户test</h2>
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
服务器通过get方式将传递过来的name参数的值赋给了str变量,然后str变量直接插入了h2标签之中。
- 其余的过关方式
可以通过/<scr/ipt/>标签弹窗,可以通过标签里的onerror事件弹窗,可以通过javascript弹窗
level2
由于从url地址来看。想到还是上面的get方式传递参数。第一关一样,也是直接输出内容,但是输出的内容在一个文本框里面。so继续套娃,可惜并没有成功
level1 源代码
对比,通过查看页面的源代码,发现传递的参数输出的位置
注入的恶意代码的尖括号都被编码成了html字符实体?
既然被编码了,所以就要想办法让浏览器执行属性值中的恶意代码了啦,因为输出的位置在一大段文字中,只需要闭合前后将js标签调用出来就行了
`
<?php
ini_set("display_errors", 0