bugkuコード監査(1)

PHPで()、必要()文は、指定されたファイルが含まれており、評価が含ま

インクルードファイルの顔に二つの文には、ファイル内に全く同じで、唯一の違いは、エラー処理のために、必要とすることである()ステートメントが実行し続けます)が存在し、または間違った、すぐに(含まれ、停止し、エラーを報告しません

ISSET()変数が設定され、非NULLかどうかを検出する機能
解除使用されている場合後()可変放出、(で)リターン偽ISSETさによって決定される
使用ISSET()はNULLをテストするために配置されている場合、変数が返されます偽
変数ヌルヌル文字(「\ 0」)はPHPと等価ではないことにも注意

ファイルの構文の強調表示のhighlight_flie()関数

ダイ()関数出力メッセージ、および現在のスクリプトの導入
関数exit()関数の別名であります

preg_replace()関数は、通常の検索式を実行し、交換する
構文:
混合にpreg_replace(混合$パターン、ミックス$の交換、ミックス$件名[、int型パースエラーKatexを:予想される「EOF」は、19位のGOT「&」:... -1 = IT [、INT& COUNT]])

$パターン:検索するパターンは、文字列または文字列の配列にすることができます
$交換:置換文字列または文字列配列のために
$件名:文字列またはターゲット文字列配列の検索と置換するために
$限度を:オプション、各パターン文字列の各被験者あるいは最大数のために、デフォルトは-1(無制限)
$数:あるいは、置換は、回数行われます

=タイプに正確に等しい変数の値であり、ただ、2つの数の値を比較する等しいです。

preg_replace()
単純な文字フィルタリング、あなたはダブルによってバイパス書き込みができ
ます(ただし、いくつかの再起草のにpreg_replace)パラメータ内、あなたは簡単にそれが不可能な二重の書き込みをバイパスすることができます

?amazing_word = 'you_ctf_like_cxk'

file_get_contentsは機能
文字列にファイル全体を読み取るために
構文:
のfile_get_contents(パス、include_pathの、コンテキスト、スタート、MAX_LENGTH)

ファイルのパス名を読み取らなければなりません

()関数を抽出された
シンボル・テーブルに現在の配列変数に導入された
抽出物(アレイ、extract_rules、接頭辞)は
extract_rules
EXTR_OVERWRITEの場合のデフォルト、あるいは
競合がある場合、変数は、既存のカバレッジ

()関数をトリム
文字列の両側除去するために、
文字列関数、または他の所定の文字の両側に白色の文字を

strcmp()関数
のstrcmp(STR1、STR2)
STR2のSTR1未満であれば、戻り<0
STR2よりSTA1大きい場合、戻り> 0
の両方が等しい場合、0を返します

()関数ダイ
メッセージダイ()関数の出力を、現在のスクリプト終了
関数exit()関数の別名である
ダイ(ステータス)

strcmp()関数の脆弱性
この脆弱性は、バージョンに適用前5.3、PHPの
関数は、非準拠のタイプを受信したとき、します期待されるタイプは、データの文字列型であるが、私たちは非文字型のデータを渡す場合は合格しましたエラーが発生した後に、警告メッセージがエラーが表示され、それは0を返します。

eregi()関数
構文
INT eregi(文字列パターン、文字列、[配列REGS]);
文字列の文字列検索モードの開発にeregi()機能、マルチサーチが(eregi大文字と小文字を区別しないである)が特に有用であり得ます文字列の妥当性チェック
マッチが成功したリターンtrurであれば、戻り値を、そうでない場合はfalse

urldecode()
でurlencode()
urldecode()は、データを処理するときに自分自身を送信PHPは最初のURLエンコードを行い、その後、urldecode関数に遭遇し、復号化する二次的な問題が存在するであろう、PHPの復号関数である
SQLインジェクションを通常の状況下でURLエンコード文は、除外されないだろうが、成功した注射PHPの後に復号することができます

error_reporting()関数は、報告あなたにどのようなPHPのエラーを与える
エラー報告の
スクリプトが実行されるときのレベルを設定することができ、この機能を使用して、PHPはエラーの多くのレベルがあり、なしオプションのパラメータレベルならば、()するerror_reportingのみ、現在のエラー報告を返します。レベル。

MD5()関数
MD5()関数は、文字列のMD5ハッシュを計算するために使用される
MD5()関数は、MD5メッセージダイジェストアルゴリズムを含む、RSAデータセキュリティを使用して
(生文字列)MD5を

-EREG()関数eregi()関数は
、文字列比較解析機能

ereg()
int ereg(string pattern,string string,array [regs]);

規則的なパターンでのこの関数は、文字列の一致文字列を解析します。結果の比の値は、[2]の規則を有する第二のライン[0]コンテンツが元の文字列の文字列、通常の文字列の最初の行のためのREGS [1]、REGSあるREGS、アレイパラメータREGSに返さ文字列、I類推。パラメータREGSを省略した場合、比較は、戻り値がtrueで見つけること単にです。

strpos()の最初の出現の別の文字列に文字列を検索する機能
コメント:strpos()関数は、大文字と小文字が区別される
この関数はバイナリセーフである
構文
strpos(文字列、見つける、スタートは)
別の文字列を返します。文字が最初に現れる位置は、文字列が見つからない場合はfalseを返します

変換を入力しないときEREG文字だけを処理し、パスワードが配列である、それは、3つの等号をnullを返します。だから、ヌル!== falseを返します。

strpos同じ引数は配列にすることができないため、戻りがnull、まだnullです!== falseのも事実です。

IS_NUMERIC()関数は、変数が数値または数値文字列であるかどうかを検出するために使用される
ブールIS_NUMERIC(misedの$ VAR)
指定された変数はtrue、そうでない場合はfalse、数値と数値文字列の場合に返されます

ヌル文字のIS_NUMERIC()関数00パーセント、00パーセント、前面と背面の両方が非数値に基づいており、空白文字の20%の値を配置することができ
、またはアレイバイパスするために使用される
切り捨て%00パーセント20文字のスペースを

おすすめ

転載: blog.csdn.net/qq_35811830/article/details/90498781