南邮CTF-MYSQL

题目

那根据提示到robots.txt这个爬虫协议里看看

有乱码。。。那就下载下来

好吧,还是看代码吧

TIP:sql.php

<?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]);
  $query = @mysql_fetch_array(mysql_query("select content from ctf2 where id='$id'"));
  if ($_GET[id]==1024) {
      echo "<p>no! try again</p>";
  }
  else{
    echo($query[content]);
  }
}
?>

提示sql.php,说明要到这个页面进行操作

代码信息:

要用get方法传一个id参数

但值要为什么呢?注意到了1024这个数字和intval()函数,输进来的数字会经过这个函数的处理

intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 

输入id=1024,显示‘no!try again’
输入id=1023,显示‘no msg in 1023~
输入id=1025,显示‘no more’

那估计是1024点几

输入1024.1,正确

另:

1.mysql_connect() 函数打开非持久的 MySQL 连接。

2.mysql_select_db() 函数设置活动的 MySQL 数据库。

 如果成功,则该函数返回 true。如果失败,则返回 false。

3.mysql_fetch_array() 函数从结果集中取得一行作为关联数组,或数字数组,或二者兼有

 返回根据从结果集取得的行生成的数组,如果没有更多行则返回 false。

4.mysql_query() 函数执行一条 MySQL 查询。