1.xss + sql注入(關於xss攻擊詳細介紹)
其中佔大頭的自然是XSS與SQL注入,對於框架類型或者有公共文件的,建議在公共文件中統一做一次XSS和SQL注入的過濾。以PHP寫個濾波函數,可由下圖所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_GET);
$_POST = filter_ssx($_GET); filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_GET);
$_COOKIE = filter_sql($C_m);
最簡單的filter_xss函數是htmlspecialchars()
最簡單的filter_sql函數是mysql_real_escape_string()
當然,都知道這種過濾filter_sql(詳細防止字符注入對於數字型是沒有辦法的,但也說明做了這層過濾後,只要在後面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。
2. 指令執行
對於指令執行,可以從關鍵字入手,總共可分為3類
(1) php程式碼執行:eval等
(2)shell指令執行:exec、passthru、system、eval等
(2)shell指令執行:exec、passthru、system、 shell_exec等
(3) 檔案處理:fwrite、fopen、mkdir等
對於這幾類需要注意其參數是否使用者可控制。
3.上傳漏洞
對於上傳漏洞,也是重點關注的地方,要仔細分析它的處理流程,針對上傳的繞過方式是很多的,最保險的方式:在保存文件是採用文件名隨機命名和後綴白名單方式。其次要注意的一點是上傳檔案的地方可能不只一處,不要有遺漏,可能會碰到這樣的情況,突然在某個目錄裡麵包含了一個第三方的編輯器在裡面。
檔案包含漏洞涉及的函數如include() 、include_once()、require()、require_once()、file_get_contents()等
最常見的還是出在下載檔案功能函數,例如download.php?file=. ./../../etc/passwd 這種類型中。
4. 權限繞過
權限繞過可分為兩類吧
(1)後台檔案的未授權存取。後台的文件沒有包含對session的驗證,就容易出現這樣的問題
(2)未作用戶隔離,例如mail.php?id=23顯示了你的信件,那麼換個ID, mail.php?id= 24就查看到了別人的信件,編寫代碼是方便,把信件都存在一個數據表裡,id統一編號,前端展現時只需按id取出即可,但未作用戶隔離,判定歸屬,容易造成越權訪問。
這樣的例子是很常見的,給某銀行做評估是就常發現這種漏洞。
5. 資訊外洩
資訊外洩算是比較低危險的漏洞了,例如列目錄這種就屬於部署問題,而與程式碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的程式碼
表面上似乎沒問題,可是當請求變成xx.php?a[]= 1時,即參數變為數組的時候,就會發生錯誤以致路徑洩露,而用isset判斷則不會,當然一個個防太麻煩,建議在配置文件中關閉錯誤提示,或者在公共文件中加入如下程式碼以關閉錯誤顯示功能:
之前PHP點點通(phpddt.com)就有一篇文章:關於PHP防止漏洞策略 ,介紹了register_globals 的危害以及魔術引用Magic Quotes使用說明。
以上就介紹了關於PHP的漏洞以及如何防止PHP漏洞? ,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。
🎜 🎜
php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版