sql注入1(南邮)
今天在南邮上做了一个关于sql注入的题目:
题目s如下:
这是一个关于sql注入的问题,打来题目链接:
点击 提交查询
提示未登陆,如下图:
点击source,弹出来一个页面如图
:
这是php的mysql代码审计问题,
对代码进行逐行分析:
if($_POST[user] && $_POST[pass]) {
如果上传两个变量user pass 则继续执行if下面的代码
mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);
链接sae的mysql数据库
mysql_select_db(SAE_MYSQL_DB);
选择要修改的数据表
$user = trim($_POST[user]); $pass = md5(trim($_POST[pass]));
去掉上传的user pass前后的空格,并对pass进行MD5加密
$sql="select user from ctf where (user='".$user."') and (pw='".$pass."')"; echo '</br>'.$sql;
从特定的表中取出user并复制给$sql
$query = mysql_fetch_array(mysql_query($sql));
对$sql进行查询,并将结果数组化,并赋值给$query
if($query[user]=="admin") { echo "<p>Logged in! flag:******************** </p>"; }
满足条件就会输出flag
用brupsuit抓包即可得到结果。