HardSQL[极客大挑战2019]是做什么用的?

摘要:[极客大挑战 2019]HardSQL 01 判断注入点 这里的靶场环境是处于一个登录框的位置 这里从源码出分析,提交之后,Get类型的请求转到check.php,输入正常的账户密码之后,请求参数是username和password,这是正
[极客大挑战 2019]HardSQL 01 判断注入点 这里的靶场环境是处于一个登录框的位置 这里从源码出分析,提交之后,Get类型的请求转到check.php,输入正常的账户密码之后,请求参数是username和password,这是正常页面的返回结果 题目提示是sql注入,那么我们现在需要去判断这个注入点和注入类型了,在username这个参数后跟单引号'后 这里发现出现报错,以及sql的报错语句,那么我们判定这里是存在sql注入的,原代码情形还原如下: SELECT * FROM users WHERE username='$username' ![img](https://img2024.cnblogs.com/blog/3199791/202604/3199791-20260405132914268-237470564.png)AND password='$password' 当我们输入username=admin'&password=admin时,拼接后的 SQL 语句变成了: SELECT * FROM users WHERE username='admin'' AND password='admin' 我们输入的单引号'提前闭合了 SQL 语句里原本的左单引号,多出来的 1 个单引号破坏了后续的 SQL 语法结构,MariaDB数据库无法执行这条错误的语句,因此抛出了语法报错。
阅读全文