目录
一、测试环境
1、系统环境
渗透机:本机(127.0.0.1)
靶 机:本机(127.0.0.1)
2、使用工具/软件
火狐浏览器的hackbar插件,版本:2.3.1
测试网址: http://127.0.0.1/xss-labs-master/level1.php?name=test
二、测试目的
实现基于get型的xss攻击
三、操作过程
1、注入点寻找
在url中即可看到变量name可控制输入,这就是注入点,下面提示payload长度为4也符合输入的name值的长度
2、使用hackbar进行payload测试
<script>alert('xss')</script>
3、绕过结果
成功弹窗
四、源代码分析
1.源代码重写了js的alert函数,一旦触发,弹窗"完成的不错"字样并跳转下一关
直接使用get的方法获取name的值,并且直接echo输出在了页面上,没有添加任何过滤
因此,在name中输入script标签,里面的js代码即可正常执行
- ini_set("display_errors", 0);
ini_set()是一个php函数,用来设置php的配置
displays_errors是配置选项,控制是否将错误信息显示 display:显示
0表示禁用,可用false代替
五、结论
信任用户的输入是不安全的。如果不对客户端输入进行检查,那么用户输入的代码也会执行。这样不仅会影响用户体验,而且危害服务器安全。
第一关没有进行任何的过滤,旨在让用户体验xss注入的过程和结果。