翻譯 PHP Fuzzing行動 原始碼審計

2021-12-29 16:33:10 字數 2236 閱讀 8367

作者:shahin ramezany

譯者:riusksk(泉哥:

目錄:section 1:

20種php原始碼快速審計方式

section 2:

php原始碼審計自動化( php fuzzer )

風險級別:

■ low

■ medium

■ high

在開始php**分析之前,讀者必須先完成以下兩項工作:

1. 安裝php程式;

2. 使用支援php**高亮的編輯器(比如emeditor - notepad++)。

筆者在下文中所提供的方法僅作為簡單的攻擊和防禦參考。本文旨在介紹攻擊和防禦方法。

注意1:其中一些話題歸wikipedia版權所有

注意2:必須在php原始碼中尋找以下變數:

以上變數均為php中的可輸入變數。

注意3:關於這些變數的更多資訊可訪問php官方**:www.php.net。

section 1: 20種php原始碼快速審計方式

1- cross site scripting (xss) / crlf [medium]

跨站指令碼(xss)屬於web程式中的一類計算機安全漏洞,它允許在使用者瀏覽的網頁中注入惡意**,比如html**和客戶端指令碼。可利用的跨站指令碼漏洞可被攻擊者用於繞過訪問控制,比如同源策略(same origin policy)。這類漏洞可被用於構造釣魚攻擊和瀏覽器攻擊。

攻擊:攻擊者在其請求中注入html**。

exp 1:

<?php

$error_message = $_get[error];

print $error_message ;

?>

index.php?error=

exp 2:

" >

#">

防禦:<?php

$error_message = $_get[error];

print htmlspecialchars($error_message );

?>

更多資料:

2- sql injection [medium]

sql注入是利用web程式資料層的安全漏洞進行**注入的技術。當使用者輸入的資料中並未對嵌入的sql宣告語句進行正確過濾時,或者使用者並沒有被嚴格地限制輸入,從而導致惡意**被執行,就有可能造成sql注入漏洞。這是一類很普遍的安全漏洞,它可在任何時候發生於被嵌入的程式設計或指令碼語言之中。

攻擊:sql注入是php**審計過程中發現的最為嚴重的漏洞之一,關於這類攻擊更多的資訊可以通過閱讀下面提供的參考資料獲得,而這裡只是簡述此類漏洞而已。

example 1:

<?php

$id= $_get[id];

$query= "select * from users where id= 「 .$id." ;"

...?>

index.php?id=1+union+select+1,@@version,3,4,5+from+users/*

example 2:

#login.php:

-- sql injection vulnerable page

//attack and defence php apps book

//shahriyar - j

$user = $_post[user];

$pass = $_post[pass];

$link = mysql_connect(localhost, root, pass) or die(error: .mysql_e

rror());

mysql_select_db("sql_inj", $link);

$query = mysql_query("select * from sql_inj where user =".$user." and pas

s =" .$pass. "",$link);

if (mysql_num_rows($query) == 0) {

echo"

AbstractCollection原始碼分析

abstractcollection抽象類提供了collection的骨架實現,collection分析請看 這裡直接看它的 是如何實現的.public abstract iterator iterator 該方法沒有實現.public abstract int size 該方法沒有實現.publi...

ThreadPoolExecutor原始碼閱讀

執行緒池解決兩個問題 一是復用執行緒,減少建立銷毀執行緒帶來系統開銷 二是限定系統資源使用邊界,避免大量執行緒消耗盡系統記憶體 適用於互不依賴,執行時間短,不需要對執行緒控制操作的執行緒 新增任務時,1.若執行緒數量小於corepoolsize,則新增執行緒執行任務 2.若執行緒數量大於等於core...

OrangePi One Android 原始碼編譯

一 系統環境搭建參照 二 lichee原始碼編譯 1.檢視help build.sh h2.配置核心 cd linux 3.4 make arch arm menuconfig 進入配置頁面,上下移動列表,空格是選擇列表,左右移動選擇退出選項 3.首次編譯執行清除 在 lichee linux3.4...