我是个刚接触sql的菜鸟。学了简单的一些查询语句,知道实际开发中如果过滤不严很容易被别人利用,什么万能密码什么的。
然后我看到有一个网站,里面输入一个编号和一个6位密码,就能查询那个编号对应的成绩。但是我不知道密码,输入000000。发现网页只显示了一句 :
select * from xxxx where id='12345678' and psw='000000'
然后弹出一个对话框,说id或密码不正确。
我想用'or'1'='1来做密码试试看,然后发现网页显示出了:
select * from xxxx where id='12345678' and psw='\\'or\\'1\\'=\\'1'
还是那个id或密码错误对话框。目前我只知道,它把输入的单引号换成\\,并且把输入的\换成\\
请问一下各位高手,假设它没有其他过滤手段了,有什么办法能不知道密码查询到成绩么?