使用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.不能在客户端那里做输入的验证,如果要做输入验证要在服务器端做,因为当客户端输入验证后是可以被截获下来篡改的

 

posted @ 2021-02-19 09:00  tim54252  阅读(637)  评论(0编辑  收藏  举报