使用Burpsuite绕过客户端过滤进行SQL注入
创建账号并登录Mutillidae
使用Security Level 0进行SQL注入
SQL语句
格式:select * from accounts where username = '$USERNAME' and password = '$PASSWORD'
如果把这里的变量$USERNAME改成admin,而变量$PASSWORD写成123456' or 1=1#
变成:select * from accounts where username = 'admin' and password = '123456' or 1=1#' 因为中间是or,只要or后面的为真就可以登录成功,而1=1恒为真。#作用是为了注释掉后面的'
Username:admin
Password:123456' or 1=1#
登录成功
把安全级别提高为1
故伎重演,发现登录不了了,被过滤了
尝试使用burpsuite拦截数据包
尝试在密码中随便输入一个符合正确格式的密码,如asdf,被burpsuite拦截,拦截后在burpsuite上修改这个密码改成sql语句再发送给服务器,这样就可以绕过了客户端的过滤
点击login
拦截数据包
点击headers,修改密码成SQL语句123456' or 1=1#
然后点击forward,可以看到成功登录
总结
1.永远不要相信客户端的输入,必须要对客户端的输入做验证
2.不能在客户端那里做输入的验证,如果要做输入验证要在服务器端做,因为当客户端输入验证后是可以被截获下来篡改的
作者:tim54252
如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载本博客,请注明出处
如果您对本文有意见或者建议,欢迎留言
感谢您的阅读,请关注我的后续博客