调用了RegCheckUserExist2方法,搜索方法找不到记录。说明是包含了js文件,搜索“<script>”,获取js文件:
![]() |
注意我描红的地方,RegCheckUserExist2方法在/js/chkcus.js文件里,代码:
![]() |
Form是在调用RegCheckUserExist2时传入的参数,整个流程如下:
![]() |
因为提交是在一个隐藏的iframe(宽和高都是0),所以我们看不到页面刷新,是个伪Ajax。但是其效果和Ajax一样,都是在用户不知道的情况下给服务器提交,只是Ajax是异步的,在提交验证的时候用户感觉不到,而这里是同步的,用户要等待返回结果后,才能进行下一步操作。即使这里用了Ajax,仍然会存在sql注入漏洞,原因是问题出在服务器的验证这里。我原本打算写的“ajax可能引发的注入漏洞”和这里所具备的环境基本相似。这有点类似于面向对象里的继承,一个父类存在漏洞,伪Ajax和Ajax两个类都继承了类(这个漏洞),虽然他们都重写了“验证的过程”。
