0x01はじめに
目標は大学です。穴の掘削プロセス中に、SQL注射に遭遇し、拡張されたハザードをさらに利用しようとしました。脆弱性は、修理のためのプラットフォームに報告されています。
0x02 SQL噴射けがの失敗
IDに2つの単一の引用符を追加し、エラーを報告します。検出後、数値注射であり、スペースがろ過されたことがわかりました。ここでは、
の代わりに/** /を使用できます
そこで、私は直接sqlmapに行きました
python sqlmap.py -u url - バッチ - tamper=space2comment.py -dbs
それがDBAの許可であることがわかった:
python sqlmap.py -u url - バッチ - tamper=space2comment.py-is -dba
私はウェブパスを見つけるために多くの方法を試しました
最後に、オペレーティングシステムがFreeBSDであることに気付きました
私は誤ってこのを見ました
char(47)は「/」であり、私はすぐにディレクトリを横断し、このを通るパスを見つけることを考えました
ルートディレクトリからレイヤーごとにレイヤーを通過することにより、最終的にWebサイトルートディレクトリ:を見つけます
シェルの書き込みは失敗し、単一の引用を避けるために16進数に変換します
ただし、この注入はサーバー上の機密ファイル(非WEBディレクトリを含む)を読み取ることができます。これは非常に有害です
0x03他のポイントから引き続き試してください
SQLインジェクションでコードを読んで、コードレベルのフィルタリングがないことを発見しました。 exploit()関数は文字列を配列に分割し、スペースで分離します。アレイの最初の1つを取り、スペースを変装してフィルターし、を注入するためにスペースをインラインコメントに置き換えます
リークされたデータベースアカウントとパスワードによると、ポート3306に接続する試みは失敗し、ローカルIPがバインドされると推定されています。
ディレクトリを通過し続け、MySQL のログインインターフェイスを発見し続けます
ログインした後、空白のインターフェイスがあります。ログインロジックを処理するコードを読むと、ログインが成功し、セッションを直接設定しますが、ジャンプしないことがわかります。ログインした後、ホームページに直接アクセスできます。
secure_file_privを確認して、それがnull値であり、制限がないことを発見しました
ログを使用してWebShellに書き込み、ログパス
を設定する許可がないことを確認してください
Webサイトバックエンドを見つけました
データベースにあるアカウントとパスワードのハッシュ値
オンラインWebサイトの復号化ハッシュは、単純なテキストの価値があります
ログインに失敗し、ソースコード
をお読みください
塩が追加されていることがわかったので、塩を追加して復号化して正しいパスワードを取得しました
ログインに正常にログインした後、新しいスタッフデータ管理アドオンに写真をアップロードする場所を見つけました
ただし、Image Files のみをアップロードできます
アップロードが成功した後、SQLでシェルの書き込みの失敗がディレクトリの権限によるものであるかどうかを突然考えました。ウェブサイトは、アップロードされたディレクトリを除く他のディレクトリを書くことができないことを制限しましたか?
そこで、私はシェルに書き込もうとしました
成功は確かにディレクトリの書き込み許可問題です
私はアリの剣を接続できないことを発見し、WAFがトラフィックを傍受したと推定されました。アリの剣の交通暗号化を見ました。 Ant Swordには、Ant Sword Trafficの重要な機能があります。つまり、ユーザーエージェントはAntsword/バージョンです。さらに、エンコーダーを使用する場合は、デコード機能を送信する必要があるため、デコード機能も機能であり、カスタムエンコーダーとデコーダーが必要です。
2つのファイルAntsword-Master/modules/request.jsおよびAntsword-master/modules/update.jsのユーザーエージェントを変更した後、正常に接続されました。 WAFは、UA の明らかな特徴のみを傍受しました
リバウンドシェルが失敗し、NCはTCP/UDPプロトコルに基づいているため、リバウンドコマンドが存在せず、アウトバウンドIPが禁止され、アウトバウンドポートが禁止されています。
SHが存在することを確認:
アウトバウンドポートは、外部ネットワークにアクセスすることです。ネットワーク接続を照会すると、ポート54454が終了できることがわかります。
したがって、ポート54454を聴いた後、シェルはに成功しました
電力のエスカレーションは失敗しました。サーバーカーネルバージョンが高すぎるため、カーネルの脆弱性を使用して権利を増やすことは不可能です。タスク、環境変数、および権利を増やすためにSUIDを計画しようとすると、それを使用する場所がないことがわかります。 Sudoは権利を増やすために、およびサードパーティのサービスでは、プラグインディレクトリは、複数のファイルの許可も正常に構成されており、他の機密情報が漏れていないことがわかります。
0x04要約
1。ターゲットシステムに単一の引用符を追加してエラーを報告しますが、フィルタースペースをバイパスする代わりに/**/使用できます。Spy2comment.pyスクリプトを使用してSqlmap.py -u http://ip/newform.php? sqlmap.py -u 3http://ip/newform.php?id=123 - バッチ - tamper=space2comment.py-is -dba //それがDBAであるかどうかを確認してください。システムにはDBAアクセス許可があります。 3。NAMPスキャンを通じて、ターゲットシステムはFreedBになります(Sunosも可能です)。 load_file()関数を等型化し、ディレクトリ3を直接通過できます3。ターゲットシステムディレクトリhttp://ip/newform.php?id=123/**/union/**/select/**/1、load_file( '/')、3,4,5,6,7,83を読み取ります。 Webサイトルートディレクトリ3http://IP/newform.php?id=123/**/**/select/**/1、load_file( '/home/db/www/')、3,4,5,6,7,84をお読みください。 WebShellに書き込み失敗し、データベース構成ファイルを読み取ろうとしました。 Webサイトのデータベースのユーザー名とパスワードが表示されます。ウェブサイトのユーザー名とパスワードが表示されます。ウェブサイトのユーザー名とパスワードが表示されます。ユーザー名とパスワードは、PMBPデータベース管理者ページにログインするために使用されます。ただし、空白スペースをバックグラウンド管理ページに表示して、データベース管理ページに直接アクセスすることはできません。 6。SQLステートメントクエリの許可、空の表示、および「Secure_file_priv'7のような表示変数」の制限なし。ただし、MySQLのログを介してシェルに書き込むことは失敗しており、記述されたディレクトリアクセス許可に制限がある可能性があります。 8。ディレクトリスキャンを通じて、ディレクトリシステムのバックグラウンド管理を見つけます。ここでの背景のユーザー名とパスワードは、SQLMapを介して直接読み取ることができ、ユーザー名とパスワードのハッシュを持つことができ、パスワードはMD5を介して正常に復号化されます。システムに正常にログインすることはできず、パスワードが正しくない場合があります。 9。Load_File()関数を介してバックグラウンド管理ページを読み、パスワードが塩漬けであることを確認します。ここに塩を追加し、それを復号化して正しいパスワードを取得し、ターゲットの背景10に正常にログインします。 11。パラメーターは、MySQLを介して画像の絶対パスアドレスに1つの文にアリの剣を書きます。 12は正常に記述できます。文はアングリの剣を通して書くことができますが、接続は成功しておらず、WAFによって傍受される可能性があります。ここでは、Angri Swordのユーザーエージェントを変更し、エンコーダBAA64のエンコードを使用してWAF傍受をバイパスしてリンクに成功させる必要があります。
Antsword-Master/modules/request.jsおよびAntsword-Master/modules/update.jsの2つのファイルのユーザーエージェントを変更した後、それは成功し、bas6413をエンコードするコードを使用してNCを介してリバウンドしました。リバウンドが失敗したことがわかった。ターゲットシステムがアウトバウンドIPを禁止し、TCPプロトコルアウトバウンドポートを禁止したことがわかっており、アウトバウンドポートが外部ネットワークにアクセスしていることがわかりました。ネットワーク接続を照会すると、ポート54454がアウトバウンドになる可能性があることがわかりました。 NC -LVVP 544454オリジナルリンク:https://xz.aliyun.com/t/10527
Recommended Comments