数据库
首页 > 数据库> > CGCTF——MYSQL

CGCTF——MYSQL

作者:互联网

在这里插入图片描述

<?php
if($_GET[id]) {
  mysql_connect(SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);   //连接数据库
  mysql_select_db(SAE_MYSQL_DB);   //选择数据库
  $id = intval($_GET[id]);		  //intval是将变量取整(注:如果变量是小数,并且小数位不能为0,如果为0,会被判为整数)
  $query = @mysql_fetch_array(mysql_query("select content from ctf2 where id='$id'"));   //sql查询语句
  if ($_GET[id]==1024) {   
      echo "<p>no! try again</p>";  
  }									//如果id=1024,输出no! try again,否则输出查询结果
  else{
    echo($query[content]);
  }
}
?>

intval() 函数用于获取变量的整数值。
利用intval()函数来绕过,输出flag。因此,url传入id不能为1024整数,且小数位不能为0,实现绕过if判断,输出flag,id=1024.1

根据提示:TIP: sql.php

所以url为:

http://chinalover.sinaapp.com/web11/sql.php?id=1024.1

在这里插入图片描述

intval函数可参阅菜鸟教程

标签:输出,intval,again,no,CGCTF,MYSQL,php,id
来源: https://blog.51cto.com/u_15249901/2848795