upload-labs pass3-9
17233 ワード
文書ディレクトリ pass03 pass04 pass05 pass06 pass07-09
pass03
ブラックリストであることが判明したので、接尾辞を変更することができます.php3 .phtml等
同時にコードもファイル名を変更(コードは省略)し、パッケージをつかむと新しいファイル名が得られます
pass04
ブラックリストフィルタリング:特にphpxのような接尾辞名を見て、それから.ini,.htaccessこの2つは漏れていませんか?
まず正常な画像を1枚アップロードして、それから使います.htaccessは内容を上書きします:
詳細についてhtaccessはApacheにしか使えない試みを参考にしました
もう1つの方法は、apacheが右から左に解析する特性のため、shellなどのブラックリスト検出を迂回するために、知らない接尾辞をアップロードすることができる.php.aaaaa、このようにブラックリストの接尾辞を迂回してファイルを成功裏にアップロードすることができて、またapacheの特性のため、phpで解析することに成功することができます
pass05
ブラックリストで、他は4と同じですが、今回のブラックリストは少ないです.iniだからuser.を使うことを考えますini SUCTF 2019 CheckIn
PHPの中に面白いものがあります.user.ini、ちょっと似ています.htaccessファイル、PHPは各ディレクトリの下でINIファイルをスキャンします.user.Iniファイルはバックドアを隠す効果を実現します
はい.user.iniではPHP_が認識できますINI_PERDIRとPHP_INI_USERモードのINI設定PHP_についてINI_*全部で4種類あります. PHP_INI_USERは、ユーザのスクリプトおよび.user.ini中設定 PHP_INI_PERDIRはphp.ini,.htaccessまたはhttpd.confで設定 PHP_INI_SYSTEMはphp.iniまたはhttpd.confで設定 PHP_INI_ALLはどこでも を設定できる.
phpを調べるIni構成項目マニュアル:
コンフィギュレーションアイテム:auto_prepend_file auto_prepend_file
このコンフィギュレーション・アイテムはphpファイルに実行前に指定したファイルを含めるようにします.このコンフィギュレーション・アイテムを使用すると、自分のバックドアを隠すことができます.
実行するファイルの前に自動的に含まれるファイルを指定します.ファイルの前にrequire()関数が呼び出されたのと同じです.そしてauto_append_fileは似ていますが、ファイルの後ろに含まれています.使い方は简単で、直接书きます.user.ini:
では、このディレクトリの下のファイルにアクセスするとtestが含まれます.jpgリファレンス記事リファレンス記事2
upload-labsには他のフィルタリングはありませんが、様々な試合問題の中には、SUCTFという問題があるに違いありません.フィルタリングして、画像の内容検出(ファイルの頭を迂回する)を増やして、文章の末尾は本文についてまとめます.pass 05の場合:まず1つアップロードできます.user.iniに入るとphpコードを含むピクチャ(接尾辞を変更する)を解析するために使用され,制限を迂回する目的を達成することができる.
プロセス:(1)1枚の画像(2)をアップロードする.user.iniファイル.内容:auto_prepend_file=2.png(この文でいい)(3)アクセス:http://IP/upload/2.png/xx.php(ディレクトリに存在するphpファイル)
もちろん、包丁の直接リンクのほかに、命令を少し学ばなければならないので、できないことがある.
SUCTFに戻ります==1.フィルタリングの迂回
2.exif_imagetype()関数は、ファイル幻数検出によりファイルヘッダが増加したり、通常のピクチャの下にコードを直接貼り付けたりする(ピクチャ馬)最も簡単なのは、ピクチャヘッダ増加GIF 89 aである
はい.user.iniも同様に、+ファイルヘッダを必要とします!!(結局アップロードするときはチェックしなければなりません)総じて参考記事がとても上手に書けました!
pass06
やはりブラックリストの問題は大文字と小文字を考慮していません
pass07-09
まず、比較的完全な迂回は次のようになります.
pass 07-pass 09については上記のコードが不完全な点がある7:欠落空8:欠落削除末尾の点9:欠落
pass03
if (isset($_POST['submit'])) {
if (file_exists(UPLOAD_PATH)) {
$deny_ext = array('.asp','.aspx','.php','.jsp');
$file_name = trim($_FILES['upload_file']['name']);
$file_name = deldot($file_name);//
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //
$file_ext = str_ireplace('::$DATA', '', $file_ext);// ::$DATA
$file_ext = trim($file_ext); //
ブラックリストであることが判明したので、接尾辞を変更することができます.php3 .phtml等
同時にコードもファイル名を変更(コードは省略)し、パッケージをつかむと新しいファイル名が得られます
pass04
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".php1",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".pHp1",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".ini");
ブラックリストフィルタリング:特にphpxのような接尾辞名を見て、それから.ini,.htaccessこの2つは漏れていませんか?
まず正常な画像を1枚アップロードして、それから使います.htaccessは内容を上書きします:
<FilesMatch "webshell.PNG">
SetHandler application/x-httpd-php
</FilesMatch>
詳細についてhtaccessはApacheにしか使えない試みを参考にしました
もう1つの方法は、apacheが右から左に解析する特性のため、shellなどのブラックリスト検出を迂回するために、知らない接尾辞をアップロードすることができる.php.aaaaa、このようにブラックリストの接尾辞を迂回してファイルを成功裏にアップロードすることができて、またapacheの特性のため、phpで解析することに成功することができます
pass05
ブラックリストで、他は4と同じですが、今回のブラックリストは少ないです.iniだからuser.を使うことを考えますini SUCTF 2019 CheckIn
PHPの中に面白いものがあります.user.ini、ちょっと似ています.htaccessファイル、PHPは各ディレクトリの下でINIファイルをスキャンします.user.Iniファイルはバックドアを隠す効果を実現します
はい.user.iniではPHP_が認識できますINI_PERDIRとPHP_INI_USERモードのINI設定PHP_についてINI_*全部で4種類あります.
phpを調べるIni構成項目マニュアル:
コンフィギュレーションアイテム:auto_prepend_file auto_prepend_file
このコンフィギュレーション・アイテムはphpファイルに実行前に指定したファイルを含めるようにします.このコンフィギュレーション・アイテムを使用すると、自分のバックドアを隠すことができます.
実行するファイルの前に自動的に含まれるファイルを指定します.ファイルの前にrequire()関数が呼び出されたのと同じです.そしてauto_append_fileは似ていますが、ファイルの後ろに含まれています.使い方は简単で、直接书きます.user.ini:
auto_prepend_file=test.jpg
では、このディレクトリの下のファイルにアクセスするとtestが含まれます.jpgリファレンス記事リファレンス記事2
upload-labsには他のフィルタリングはありませんが、様々な試合問題の中には、SUCTFという問題があるに違いありません.フィルタリングして、画像の内容検出(ファイルの頭を迂回する)を増やして、文章の末尾は本文についてまとめます.pass 05の場合:まず1つアップロードできます.user.iniに入るとphpコードを含むピクチャ(接尾辞を変更する)を解析するために使用され,制限を迂回する目的を達成することができる.
プロセス:(1)1枚の画像(2)をアップロードする.user.iniファイル.内容:auto_prepend_file=2.png(この文でいい)(3)アクセス:http://IP/upload/2.png/xx.php(ディレクトリに存在するphpファイル)
もちろん、包丁の直接リンクのほかに、命令を少し学ばなければならないので、できないことがある.
SUCTFに戻ります==1.フィルタリングの迂回
<script language=”php”>xxx</script>
<% xxx %>
<? xxx ?>
<script language="php">eval($_POST['a']);</script>
2.exif_imagetype()関数は、ファイル幻数検出によりファイルヘッダが増加したり、通常のピクチャの下にコードを直接貼り付けたりする(ピクチャ馬)最も簡単なのは、ピクチャヘッダ増加GIF 89 aである
はい.user.iniも同様に、+ファイルヘッダを必要とします!!(結局アップロードするときはチェックしなければなりません)総じて参考記事がとても上手に書けました!
pass06
やはりブラックリストの問題は大文字と小文字を考慮していません
: $file_ext = strtolower($file_ext); //
pass07-09
まず、比較的完全な迂回は次のようになります.
$file_name = trim($_FILES['upload_file']['name']);
$file_name = deldot($file_name);//
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //
$file_ext = str_ireplace('::$DATA', '', $file_ext);// ::$DATA
$file_ext = trim($file_ext); //
pass 07-pass 09については上記のコードが不完全な点がある7:欠落空8:欠落削除末尾の点9:欠落
::$DATA
だからファイルについてphp、最後に何かを追加して迂回することができます