美文网首页
【Code-Audit-Challenges】Challenge

【Code-Audit-Challenges】Challenge

作者: Pino_HD | 来源:发表于2017-12-08 13:03 被阅读0次

0x01 题目

#GOAL: get password from admin;
<?php 
    
error_reporting(0);

$link = mysqli_connect('localhost', 'xxx', 'xxx', 'test');
if (!$link) { 
    die('Could not connect to MySQL: ' . mysqli_connect_error()); 
} 

$link->set_charset("utf8");


function clean($str){
    if(get_magic_quotes_gpc()){
        $str=stripslashes($str);
    }
    return htmlentities($str, ENT_QUOTES);
}
$username = @clean((string)$_GET['username']);
$password = @clean((string)$_GET['password']);
$query='select * from user where username=\''.$username.'\' AND password=\''.$password.'\';';
var_dump($query); //提示:htmlentities函数的效果可以通过右键查看网页源代码来看效果
echo "<br />";
$result=mysqli_query($link,$query);
if(!$result || mysqli_num_rows($result) < 1){
    die('Invalid password!');
}

$row = mysqli_fetch_assoc($result);

echo "Hello ".$row['username']."</br>";
echo "Your password is:".$row['password']."</br>";
?>

0x02 解题

原题不是这样的,里面加了我自己的注释和数据库信息,有一个比较坑的是htmlentities()函数需要右键源代码才能看到效果。。

然后分析一下代码,首先已知用户名admin,目标是获取密码。其中username和password都使用了一个自定义的clean函数进行过滤,看一下clean函数,首先使用stripslashes函数去掉反斜杠,然后返回通过htmlentities()函数编码的字符串,并且在函数中使用了ENT_QUOTES,将单引号和双引号都进行实体编码,因此不能使用单引号进行注入,但是htmlentities函数是不编码反斜杠的,因此我们可以通过输入一个反斜杠,转义掉一个单引号,从而完成注入,payload如下:

?admin\&password=%20or%201=1%23

相关文章

  • 【Code-Audit-Challenges】Challenge

    0x01 题目 0x02 解题 原题不是这样的,里面加了我自己的注释和数据库信息,有一个比较坑的是htmlenti...

  • 57: A Challenge

    a challenge 07/28/2017 There is a big challenge in front ...

  • Python挑战:00~03关

    Python Challenge Python Challenge 00 网址: http://www.pytho...

  • 第二部分 重点词语及常用搭配4-高等教育自学考试考点串讲 公共课

    31.challenge n. 挑战;艰巨任务 beyond challenge 无与伦比 letter of c...

  • Challenge

    哈哈哈 今天的目标是挑战原创✌️✌️✌️(我是对只用勾线的图画是真爱哈哈哈哈哈哈嗝~

  • Challenge

    今天我想说的就是这个挑战 challenge ,生活中无时无刻不充满着挑战,我们碰到的每一个困难,不论是工作上的还...

  • Challenge

    Climbing the mountain is not to plant your flag, but to e...

  • challenge

    已经9月份了,一边上班一边准备考研,突然感到压力好大,我想要挑战自己,但又怕被长期养成的坏习惯打败,我能掌控吗?

  • challenge

    2019最大的挑战应该是确定自己是就业还是考研,如果就业那要找一份自己还比较满意的工作,如果是考研,要坚持到底,考...

  • CHALLENGE

    With the commencement of spring,the weather is getting m...

网友评论

      本文标题:【Code-Audit-Challenges】Challenge

      本文链接:https://www.haomeiwen.com/subject/cqatixtx.html