本文最后更新于:2019 , 八月 19日 星期一, 8:47 晚上
扯淡
在瞎扯淡中,又扯到了该靶场,不死心的基友再次测试二次注入
我们两个再次开启了扯淡模式,然而我的提议牛头不对马嘴(场面气氛一度尴尬)
最后它成功测试出了二次注入,于是我就偷偷摸摸的学习ing
code
regCheck.php
文件
可以看到此处是经过过滤的,但是二次注入,大多数都是数据在数据库中进行了还原
可以看到确实是还原了
但是此处因为我们是注册时,先把用户名带入到$_session['username']
后就写入数据库,并跳转到user.php
页面
所以此处并不会造成错误的产生(二次注入)
我们需要重新登录
logCheck.php
文件
可以看到,我们输入的数据再一次被进行了过滤,最终语句如下:
SELECT * FROM users WHERE user_name = 'a\'' AND user_pass = SHA('123456');
但是,这是可以正常执行的
在执行语句之前,把user_name
赋值给$_SESSION['username']
但是并没有进行过滤,带着我们最开始的语句a'
,跳转到user.php
页面
user.php
可以看到,这里它使用了$_SESSION['username']
进行了查询
由于,他是带着我们恶意构造的语句,也没有进行过滤
所以导致,此处的语句执行错误,并向用户打印Error!
SELECT * FROM users WHERE user_name = 'a''