前言
上周参加了第一次校赛,就做了web和一个Misc签到,其他的都不会。感觉web除了sql注入,其他的题都挺签到的,大概是学长怕打击到我们吧。。。sql注入那个题在学长的N次提示下终于找到了注入点,然后尴尬的事情发生了,我注入的payload记不清了。。。这还不是最尬的,最尬的是我Python盲注脚本不熟,当时又稍微有一点紧张,然后选择burpsuite+手工对照ascii表注入。。。嗯,懂的都懂,尬死了。还好学长没往里面加类似“xxx_want_a_girlfriend”之类的,这要是换成极客大挑战finalSQL那道题的数据库我直接去世
思路
这个题刚开始放出的时候试了n种方法都没成功,后来学长放了hint,“web题的思路不是应该先信息收集一波吗?”,直接扫,git源码泄露,拿到源码如下。也长个经验,以后拿到题目先扫目录(×)
<?php
require_once "conn.php";
$db = new PDO($dsn, $user, $pass);
if (isset($_POST['username']) && isset($_POST['password'])) {
$username = addslashes($_POST['username']);
$password = addslashes($_POST['password']);
$sql = sprintf("select * from users where username='$username' and password='%s'", $password);
} else {
die("plz input you