绕过登录的万能密码 SQL 注入

admin 2024年9月29日00:39:47评论16 views字数 1659阅读5分31秒阅读模式

Portswigger练兵场之SQL注入之SQL 注入-绕过登录的万能密码

Lab: SQL injection vulnerability allowing login bypass

实验前置必要知识点

正常一个没有防护的应用程序,允许用户使用用户名和密码登录。

如果用户提交用户名和密码,应用程序将通过执行以下 SQL 查询来检查凭据:

SELECT * FROM users WHERE username = 'wiener' AND password = 'bluecheese'

如果查询返回用户的详细信息,则登录成功。否则,将被拒绝。

如果遇到防护较低的应用程序,在这个时候利用注释的方法,让查询帐号的结果返回真,忽略掉密码部分,即万能密码登录系统。

SELECT * FROM users WHERE username = 'administrator'--' AND password = ''

此查询返回用户名为administrator的用户,并成功将攻击者登录到该用户。

实验要求

本实验在登录函数中包含一个 SQL注入漏洞。

若要解决实验室问题,请执行以administrator用户身份登录到应用程序的 SQL 注入攻击。

渗透开始

  • 访问对应靶场界面

https://portswigger.net/web-security/sql-injection/lab-login-bypass
  • 启动靶场

1. 站点分析

这是购物类型的网站

绕过登录的万能密码 SQL 注入
具有查看商品以及登录的功能点

绕过登录的万能密码 SQL 注入

2. 寻找可疑功能点(查看Burp历史记录进行分析)

从总体来看,根据提示需要关注的是登录功能点

绕过登录的万能密码 SQL 注入
因此,分析突破口在这

3. 功能点测试

将对应的日志信息发送到重放模块

绕过登录的万能密码 SQL 注入

如果登录处存在无防护的SQL注入的话,首先我们尝试让语句报错,添加'

绕过登录的万能密码 SQL 注入

很直观的发现500报错了

绕过登录的万能密码 SQL 注入

添加2个'发现变回了200说明是单引号闭合的SQL语句

推测应用程序会将输入的账号密码通过执行以下SQL查询来检查凭据:

SELECT * FROM users WHERE username = 'aaa' AND password = 'bbb'

可以确定的是账号和密码处是可控的

SELECT * FROM users WHERE username = '{账号}' AND password = '{密码}'

根据提示,需要登录的账号是administrator,因此先修改username参数

SELECT * FROM users WHERE username = 'administrator' AND password = '{密码}'

如果查询的时候让账号为真并且忽略掉后面的内容,根据SQL的逻辑,账号存在为真会返回True,而应用程序根据返回为真的情况允许用户登录

SELECT * FROM users WHERE username = 'administrator' -- q' AND password = '{密码}'

利用注释的方法忽略掉密码,尝试在username参数后administrator拼接' --

因为是在POST传参中,不需要像GET一样进行URL编码操作

csrf=lsKpaUmIveO1R6uh8ap9d1OFNOGu14Vv&username=administrator' -- q&password=bbb

发现成功重定向进行了登录

绕过登录的万能密码 SQL 注入

4.完成实验

构造语句

绕过登录的万能密码 SQL 注入

发现需要令牌

绕过登录的万能密码 SQL 注入

直接复制之前的set-cookie进行登录,成功完成了实验

绕过登录的万能密码 SQL 注入

本公众号云息信安所提供的信息以及工具仅供安全测试人员用于授权测试,禁止用于未授权测试,请勿非法使用!!!造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号云息信安及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

———————————————————————————
版权声明:版权声明:本文为FreeBuf.COM博主「杳若」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:
https://www.freebuf.com/articles/web/374865.html

原文始发于微信公众号(云息信安):绕过登录的万能密码 SQL 注入

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月29日00:39:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   绕过登录的万能密码 SQL 注入https://cn-sec.com/archives/1976061.html

发表评论

匿名网友 填写信息