2021-06-06 · 1

LOS #2 cobolt write-up

securitypwnable

这篇文章发布已超过两年,内容可能已过时。


什么是 LOS?

这个 LOS(Lord Of SQLInjection)是一个可以练习 SQL Injection 的 Web 黑客练习网站。

关于 SQL Injection,请读这篇 [黑客/Web 黑客] - SQL Injection ~嘿。

[黑客/Web 黑客] - [LOS] #1 gremlin write up <- 第 1 题

解题过程

第 1~6 行与前面 #1 的内容相同,跳过。

$query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')";

这是相比 #1 变化了的查询语句。变化似乎只是 pw 加了 md5。关键不在这里,而在第 10~11 行。

if($result['id'] == 'admin') solve("cobolt");
elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; 

现在与之前不同的是,似乎只有当 result['id'] 值变成 'admin' 才能解开。若只按第 1 题那样解,下面的 elseif 语句似乎会运行。确认一下?和 #1 一样,把 ' or 1=1 %23 放进 id 值试试。

如预期可以确认 elseif 语句运行了。那么该怎么办呢?

非常简单,只要把 id 值弄成 admin 就行!像 id=admin' %23 这样输入,id 值就变成 admin,再在后面输入 # 把后面注释掉。

就这样解决了!!第 2 题辛苦了。


原文(韩语): tistory — 发布于 2021-06-06,已迁移至本博客。本翻译由 AI 协助完成。

评论

删除这条评论?

相关文章

LOS #2 cobolt write-up · 나봄하랑