栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

WEB ---- ctfshow ----- SQL注入

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

WEB ---- ctfshow ----- SQL注入

web171

看题目

$sql = "select username,password from user where username !='flag' and id = '".$_GET['id']."' limit 1;";

//拼接sql语句查找指定ID用户

我们能够控制的只有id的值,经分析,条件为username不为 flag。可是只有用户名为 flag 才能输出 正确的flag。

第一步先判断是否有注入点。

观察到存在单引号,所以要考虑引号闭合问题。


输入的内容被当作代码执行

逻辑词 or 只要任意一个条件为真就算成立

所以输入1' or '1=1,可以列出所有的记录(数据)

本来抱着测试注入点,不小心把 flag 测出来了,嘻嘻。

正规做一下这个题,要想绕过username!=flag ,仔细观察得到username!=flag与 id 使用逻辑运算符 and 相连,所以使得 id 与一个不存在的数相等,就可以绕过username!=flag

web172


打开题目:

点击SELECt模块,无过滤注入1


咦,和上一道是一样的

试一试,嘿嘿


哈哈哈,他提示flag不在这。

噢噢,原来是这个靶场
查询语句
//拼接sql语句查找指定ID用户

$sql = "select username,password from ctfshow_user2 where username !='flag' and id = '".$_GET['id']."' limit 1;";

老规矩,测试注入点
已确定,存在注入点

返回逻辑

//检查结果是否有flag

 	if($row->username!=='flag'){
      $ret['msg']='查询成功';
    }

注意:select查询完成后,会返回结果,这时,返回逻辑代码开始阻止,若返回结果的字段名username的值为flag,则返回false
确实没有返回username='flag'的值。
所以要绕过$row->username!=='flag',检查返回的字段名username,那么不让返回值中存在username就好了鸭!

使用union语句。try 一 try(试一试)

(注意:--+是MySQL语法中的注释)

999' union select id,password from ctfshow_user2 where username='flag' --+

999' union select id,password from ctfshow_user2 where id = '1' or 1=1--

这个是返回所有的数据记录

web173

打开题目:
查询语句

//拼接sql语句查找指定ID用户

$sql = "select id,username,password from ctfshow_user3 where username !='flag' and id = '".$_GET['id']."' limit 1;";

返回逻辑

//检查结果是否有flag

if(!preg_match('/flag/i', json_encode($ret))){
  $ret['msg']='查询成功';
}

preg_match是正则表达式

preg_match_all(正则表达式、匹配字符串、匹配到的东西放入数组)

返回匹配到的次数。正则表达式格式//,/i是不区分大小写

json_encode函数,对变量进行 JSON 编码,该函数只对 UTF-8 编码的数据有效。

和web172的思路大致相同,这次是使用正则表达式。而且注意到,这次是输出 id,username,password 三个字段的记录。


存在注入点,输入的数据会被当成代码执行。

所以对用户名username的值进行十六进制转换,这样就可以绕过正则表达式。

999' union select id,hex(username),password from ctfshow_user3 where username = 'flag

hex(),将其中的内容进行十六进制的转换。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/992016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号