[ACTF2020 新生賽]BackupFile && [ACTF2020 新生賽]Upload &&[GYCTF2020]Blacklist


[ACTF2020 新生賽]BackupFile

 

 

 嘗試找到源代碼,加上題目是備份文件,猜測備份文件里面有網站的源代碼,御劍掃描一下,就掃到index.php

訪問index.php.bak

下載源代碼:

<?php
include_once "flag.php";

if(isset($_GET['key'])) {
    $key = $_GET['key'];
    if(!is_numeric($key)) {
        exit("Just num!");
    }
    $key = intval($key);
    $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
    if($key == $str) {
        echo $flag;
    }
}
else {
    echo "Try to find out source file!";
}

  需要GET方法傳入key值,並且key使用有漏洞的is_numeric函數進行判斷是否是數字,接着與$str進行比較,$str是一串字母和數字的字母串

可以注意到比較的時候使用的是==,弱類型比較。在比較的過程中因為$key是數字,所以str也會被隱性地轉換成整型,即123

所以我們輸入$key=123就可以了

 

 

 

[ACTF2020 新生賽]Upload

 

 

 點擊小燈泡發現文件上傳的位置

上傳chopper.php,發現被攔截了

 

 

 修改后綴名上傳並抓包,改回php后綴

 

 

 使用00截斷之后發現上傳文件名是后綴名

 

 

 嘗試后綴名大小寫繞過之后,好像文件沒有正確解析

 

 

 猜測后端應該是黑名單過濾,但是解析的時候有的又會出現問題

用一些不常見的后綴如.phtml,成功上馬並連接

 

 

 在根目錄下找到flag

 

 

 

[GYCTF2020]Blacklist

 

 

這種題目在強網杯的隨便注里面出現過,我們使用1'||1--+列出當前表的所有內容

 

 

 輸入一個select看看過濾條件

 

 

 相比較於強網杯--隨便注過濾的東西更多了

同樣,select,和 . 被過濾了,在這種情況下想要跨表查詢是很困難的,我們想到使用堆疊注入

參考自:https://skysec.top/2019/05/25/2019-%E5%BC%BA%E7%BD%91%E6%9D%AFonline-Web-Writeup/#%E9%9A%8F%E4%BE%BF%E6%B3%A8

原來的payload是這樣的:

payload = "0';set @s=concat(%s);PREPARE a FROM @s;EXECUTE a;"

但是set 和prepare被過濾

在強網杯隨便注中的另外一種繞過方式,是修改表名來偷天換日,但是這里也將alter和rename進行了過濾,禁止了這種方式

這里使用另外一種堆疊注入的奇技淫巧,看MySQL官方文檔:https://dev.mysql.com/doc/refman/8.0/en/handler.html

該HANDLER ... OPEN語句打開一個表,使其可以使用后續HANDLER ... READ語句訪問。該表對象未被其他會話共享,並且在會話調用HANDLER ... CLOSE或會話終止之前不會關閉 。

  因為HEANDLER ... OPEN 打開一個表 ,所以 我們先查看有哪些表

?inject=1%27%20%20;%20show%20tables--+

  

 

 有一個FlagHere的表

在官方示例中,打開了數據表之后,是這樣讀取數據的

 

 我們使用FIRST讀取第一條數據,最后的payload為:

?inject=1%27;HANDLER%20FlagHere%20OPEN;HANDLER%20FlagHere%20READ%20FIRST;HANDLER%20FlagHere%20CLOSE;#

  又學習到了一個知識點

 

參考博客:

https://www.cnblogs.com/gaonuoqi/p/12398554.html

https://skysec.top/2019/05/25/2019-%E5%BC%BA%E7%BD%91%E6%9D%AFonline-Web-Writeup/#%E9%9A%8F%E4%BE%BF%E6%B3%A8

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM