SWPUCTF 2019 web
web1
知识点
## information_schema绕过
##无列名注入
注入点在广告申请广告名字处,申请广告名为

查看广告详细返回错误

接下来就是常规的union注入的套路,但是发现or被过滤,这样搞得不能用order by
而且空格
没事,直接union 1,2,3先尝试一下

发现空格被过滤 这里用/**/可以绕过

查看广告,发现发会列数不对

接下来就逐一的增加或者是减少列数就行了,一个一个的试,最后发现列数有22列,显示位在2,3位


接下来就是常规的拿表名和列名,但是会发现or被过滤,被过滤的死死的,常规办法根本无法绕过,导致information_schema无法使用,然后就是那天kk师傅分享的东西了
# information_schema绕过
https://www.anquanke.com/post/id/193512
得到表名 users,ads
注:当时线上的时候用这个办法解出来了,但是后来比赛结束在buuctf上复现去做的时候发现这个方法行不通 ,因为buuctf环境里没有这两个库,然后我去百度wp发现有个老哥说他是猜出来了 ,这里只有等官方wp出来再康,没办法
这种方法无法获取列名但是可以使用无列名注入
https://blog.csdn.net/qq_40500631/article/details/89631904
注意,在无列名注入的时候 一定要和表的列数相同 不然会报错 这里我也是1列+1列的尝试,最后发现users里有三列

语句:
=tang'/**/union/**/all/**/select/**/1,group_concat((select/**/group_concat(c)/**/from/**/(select/**/1,2,3/**/c/**/union/**/select/**/*/**/from/**/users)b)),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/'&content=1
当时在线上的时候,这里有提示拿去MD5直接解密,但是比赛结束平台换成buuctf过后就直接给flag了


知识点:
1.无列名注入
https://www.jianshu.com/p/6eba3370cfab
语句
一般都是: (select `2` from (select 1,2,3 union select * from table_name)a) //前提是要知道表名
((select c from (select 1,2,3 c union select * from users)b)) 1,2,3是因为users表有三列,实际情况还需要猜测表的列的数量
2.bypass information_schema
https://www.anquanke.com/post/id/193512
sys.schema_table_statistics_with_buffer。。
但是值得注意的是 一般要超级管理员才可以访问sys
所以一般还可以用这个方法

在buuctf环境中这个也不行

上面图片来自:https://www.cnblogs.com/qftm/p/10317257.html
前提是users表存在
但是这个方法也不行 ,polygon和lingstring被过滤
等官方wp吧,比赛六道web题只做出来这一道题,后面的题我会陆续补上,下学期开学我一定成为三个方向都可以做题的帅波!
SWPUCTF 2019 web的更多相关文章
- SWPUCTF 2019总结以及部分WP
本次SWPUCTF开赛了,一共做了5个misc+2个web,RE和Android没时间看= =,pwn完全不会,果然又是和去年一样划水.题目都出的很不错,做题的时候思路其实也容易想到,剩下几个web有 ...
- 2019 Web开发学习路线图
以下 Web 开发人员学习路线图是来自 Github developer-roadmap 项目,目前已经有繁体版翻译 developer-roadmap-chinese. 主要有三个方向,分别为前端开 ...
- RCTF 2019 web
写在正文前 神仙题,压根不会. 听说跟着神仙的思路走一遍印象会深点,Just mo it .2333 正文 nextphp 整体思路:phpinfo得知存在preload.php文件,并与opcach ...
- [原题复现+审计][SUCTF 2019] WEB CheckIn(上传绕过、.user.ini)
简介 原题复现:https://github.com/team-su/SUCTF-2019/tree/master/Web/checkIn 考察知识点:上传绕过..user.ini 线上平台:h ...
- 极客大挑战 2019 web 部分解
复现环境:buuoj 0x01:Havefun F12查看源码,明显html注释里是一段php get方式传参数,payload:http://f5cdd431-df98-487f-9400-e8d0 ...
- [原题复现+审计][ZJCTF 2019] WEB NiZhuanSiWei(反序列化、PHP伪协议、数组绕过)
简介 原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/ 考察知识点:反序列化.PHP伪协议.数组绕过 ...
- [原题复现]强网杯 2019 WEB高明的黑客
简介 原题复现: 考察知识点:python代码编写能力... 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 简 ...
- [原题复现]SUCTF 2019 WEB EasySQL(堆叠注入)
简介 原题复现: 1 <?php 2 session_start(); 3 4 include_once "config.php"; 5 6 $post = array() ...
- SWPUCTF 2019 pwn writeup
来做一下以前比赛的题目,下面两个题目都可以在buu复现(感谢赵总). SWPUCTF_2019_login 32位程序,考点是bss段上的格式化字符串.用惯onegadgets了,而对于32位程序来说 ...
随机推荐
- Python正则、re模块
正则的概念 findall match search 方法 元字符的用法和作用 正则表达式概念 正则表达式是对字符串操作的一种逻辑公式,就是对字符串的一种过滤 可以判断是 ...
- Python控制流程
if elif else的用法 三目运算符的用法 while 和 for 两种循环 break 和 continue 的用法 条件判断 if elif else if 和 elif 后面填的判 ...
- Linxu:磁盘分区
了解磁盘分区 磁盘的物理组成: 圆形的磁盘盘(主要记录数据的部分): 机械手臂,与在机械手臂上的磁盘读取头(可擦写磁盘盘上的数据): 主轴马达,可以转动磁盘盘,让机械手臂的读取头在磁盘盘上读写数据. ...
- spark 基础
scala版 ,基本名词概念及 rdd的基本创建及使用 var conf = new SparkConf() var sc: SparkContext = new SparkContext(conf) ...
- pycharm安装pymysql包
1.为什么? 每个程序连接数据库,python开发2.*版本可以直接使用MySQL,python3.*版本需要下载使用PyMySQL包才能连接数据库... 2. 怎么做? 2.1. 更改源:pycha ...
- to_sql, to_csv, to_excel, to_json
1.to_sql def to_sql(self, name, con, schema=None, if_exists="fail", index=True, index_labe ...
- flask-windows部署
由于supervisor不支持windows,但要防止程序异常中断,所以需要采取措施 通过pywin32,使得flask以服务的方式运行 创建pythonservice.py import win32 ...
- JAVA的addAll方法
List和collections工具类都有这个方法!
- strcasecmp()函数
函数介绍: strcasecmp用忽略大小写比较字符串.,通过strcasecmp函数可以指定每个字符串用于比较的字符数,strncasecmp用来比较参数s1和s2字符串前n个字符,比较时会自动忽略 ...
- Gradle java使用
安装 去gradle官网下载然后解压,把bin路径添加到PATH变量即可 查看版本号 gradle -v 生成gradle项目 在新建/已有项目目录下初始化项目 gradle init 配置仓库源 编 ...