首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL注入ByPass

SQL注入ByPass
EN

Security用户
提问于 2018-04-07 22:11:23
回答 1查看 865关注 0票数 -1
代码语言:javascript
复制
$result = $db->query('SELECT * FROM USERS WHERE password="'.$_GET['password'].'"');
if($result->fetchArray()) $step1=true;

$result = $db->query('SELECT * FROM USERS WHERE password=\''.$_GET['password'].'\'');
if($result->fetchArray()) $step2=true;

$result = $db->query('SELECT * FROM USERS WHERE password='.$_GET['password']);
if($result->fetchArray()) $step3=true;

这段代码是我为学习目的而做的ctf挑战的一部分,我不太确定如何将这些SQL语句计算为true。

有些想法是做一个insert语句,其中密码将等于注入语句,但我不确定这是否是一个好方法。如果可能的话,我想在不修改后端数据库的情况下获得它。

我并不是真的想要一个直接的答案,但可能需要一些指导。

感谢你的帮助。

编辑:$step1、$step2和$step3都需要计算为true

EN

回答 1

Security用户

发布于 2018-04-08 00:59:59

OWASP基金会网站是信息安全主题的丰富来源。

它们的页面被指定为绕过的SQL注入。

您的目标是确保无论查询是如何构造的,结果都是一个<#>true值。

OWASP提供的一个例子如下:

select * from table where id = 1 AND if((ascii(lower(substring((select user()),$i,1))))!=$s,1,benchmark(200000,md5(now())))

大多数认真对待他们的数据的网站都有办法保护他们的数据库免受各种类型的注入攻击,一个基本的方法就是输入消毒。

引用:绕过WAF的SQL注入。(2018)。Owasp.org。2018年4月8日从https://www.owasp.org/index.php/SQL_注入_绕行_WAF检索

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/183192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档