入口檔案爲:index.php作用:檢測程式是否安裝data/common.inc.php爲數據庫連線資訊,若不存在,執行安裝/install/index.php爲系統安裝檔案,在安裝後會建立install_lock.txt檔案,防止重灌漏洞包含了include/common.php檔案common.php包含了include/webscan/webscan.php檔案,此檔案爲整站安全程式不太清楚這三行有什麼用,應該與表示當前目錄有關請求的資料夾內沒有任何數據包含了/include/common.func.php檔案,此檔案又包含了data/config.cache.inc.php檔案,此檔案包含了許多變數,因該是用作網頁顯示common.func.php檔案判斷了include/data/config.cache.inc.php檔案內i,intval限制了整數值,但是可以用寬位元組注入來繞過同上,也可以用寬位元組注入來繞過我們輸入數值來滿足程式的條件,結果返回如上一個自訂的通過正則表達式獲取使用者ip的函數
在建立完這個函數後緊接着就將其使用,並賦值給$bip,然後便放入數據庫中進行查詢
獲取IP的方式是通過HTTP_REFERER,這個東西可以被僞造
變數無單引號保護
思路一:
通過僞造HTTP_REFERER的方式構造一個含有sql命令的語句,然後將其帶入數據庫中進行查詢
由於判斷HTTP_PEFERER的方法太過嚴謹,所以此方法作廢
存在於login.php檔案中,用於獲取使用者輸入的使用者名稱,先後 先後進行了刪除字串內所有反斜槓,過濾了XSS跨站指令碼攻擊,擷取中文字元,將字串內的所有引號前加上反斜槓
存在於login.php資料夾中,用於獲取使用者輸入的密碼,對面嗎進行md5加密,然後擷取了5到20字元,不懂爲什麼要擷取字元
這裏進行了一個針對userid的sql查詢
嘗試進行寬位元組注入:
1.語句:id=-1%df’ and 1=1#
失敗:
此提示出現在webscan檔案中,檢查webscan檔案分析過濾機制 機製
get攔截規則:
$getfilter = 「<.+javascript:window[.{1}\x|<.=(&#\d+?;?)+?>|<.(data|src)=data:text/html.>|\b(alert(|confirm(|expression(|prompt(|benchmark?|sleep?|\b(group_)?concat[\s/*]?([)]+?)|[]*?when[]*?[]+?|load_file*?()|<[a-z]+?\b[>]*?\bon([a-z]{4,})*?=|+/v(8|9)|\b(and|or)\b\s*?([()’\d]+?=[()’\d]+?|[()‘zA-Z]+?=[()‘zA-Z]+?|>|<|+?[\w]+?\s+?\bin\b\s*?|\blike\b\s+?[’])|/*.*/|<\sscript\b|\bEXEC\b|UNION.+?SELECT*(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|))|UPDATE(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|))SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE)@{0,2}((.+)|\s+?.+?\s+?|(|'|).*?(
|’|))FROM((.+)|\s+?.+?|(|'|).*?(
|’|))|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
post攔截規則:
$postfilter = "<.=(&#\d+?;?)+?>|<.data=data:text/html.>|\b(alert(|confirm(|expression(|prompt(|benchmark*?|sleep?|\b(group_)?concat[\s/*]?([)]+?)|[]*?when[]*?[]+?|load_file*?()|<[^>]?\b(onerror|onmousemove|onload|onclick|onmouseover)\b|\b(and|or)\b\s?([()’\d]+?=[()’\d]+?|[()‘zA-Z]+?=[()‘zA-Z]+?|>|<|+?[\w]+?\s+?\bin\b\s*?|\blike\b\s+?[’])|/*.*/|<\sscript\b|\bEXEC\b|UNION.+?SELECT*(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|))|UPDATE(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|))SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE)((.+)|\s+?.+?\s+?|(|'|).*?(
|’|))FROM((.+)|\s+?.+?|(|'|).*?(
|’|))|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
cookie攔截規則:
$cookiefilter = "benchmark?|sleep?|load_file?(|\b(and|or)\b\s*?([()’\d]+?=[()’\d]+?|[()‘zA-Z]+?=[()‘zA-Z]+?|>|<|+?[\w]+?\s+?\bin\b\s*?|\blike\b\s+?[’])|/*.*/|<\sscript\b|\bEXEC\b|UNION.+?SELECT*(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|))|UPDATE(+|@{1,2}.+?|+?.+?|(|'|).*?(
|’|)*)SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE)@{0,2}((.+)|\s+?.+?\s+?|(|'|).*?(
|’|))FROM((.+)|\s+?.+?|(|'|).*?(
|’|))|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)」;
這些東西都看不懂