本文目錄一覽:
- 1、代碼審計是什麼?
- 2、PHP 編程 計算本周五日期和下一個周五的日期
- 3、當前市面上的代碼審計工具哪個比較好?
- 4、e語言代碼如何審計
- 5、新手小白想學習滲透和網路安全,從哪裡入手?
- 6、php漏洞與代碼審計過程中需要注意的幾點
代碼審計是什麼?
代碼審計有什麼好處
代碼審計指的156是檢查源代碼中的安全缺陷6991,檢查程序源代碼是否存在安全隱患3780,或者有編碼不規範的地方,通過自動化工具或者人工審查的方式,對程序源代碼逐條進行檢查和分析。
代碼審計是一種以發現程序錯誤,安全漏洞和違反程序規範為目標的源代碼分析,能夠找到普通安全測試所無法發現的安全漏洞。
那麼,為什麼需要做代碼審計?代碼審計能帶來什麼好處?
99%的大型網站以及系統都被拖過庫,泄漏了大量用戶數據或系統暫時癱瘓,近日,英國機場遭勒索軟體襲擊,航班信息只能手寫。
提前做好代碼審計工作,非常大的好處就是將先於黑客發現系統的安全隱患,提前部署好安全防禦措施,保證系統的每個環節在未知環境下都能經得起黑客挑戰,進一步鞏固客戶對企業及平台的信賴。
通常來說,「黑客」可以利用的漏洞無非有以下幾個方面:
1. 軟體編寫存在bug
2. 系統配置不當
3. 口令失竊
4. 嗅探未加密通訊數據
5. 設計存在缺陷
6. 系統攻擊
大家可能就會問了,哪些業務場景需要做好代碼審計工作?小型公司的官需要做嗎?
代碼審計的對象主要是PHP、JAVA、asp、.NET等與Web相關的語言,需要做代碼審計的業務場景大概分為以下五個:
1. 即將上線的新系統平台;
2. 存在大量用戶訪問、高可用、高並發請求的網站;
3. 存在用戶資料等敏感機密信息的企業平台;
4. 互聯網金融類存在業務邏輯問題的企業平台;
5. 開發過程中對重要業務功能需要進行局部安全測試的平台;
通常說的整體代碼審計和功能點人工代碼審計區別嗎?
整體代碼審計是指代碼審計服務人員對被審計系統的所有源代碼進行整體的安全審計,代碼覆蓋率為100%,整體代碼審計採用源代碼掃描和人工分析確認相結合的方式進行分析,發現源代碼存在的安全漏洞。但整體代碼審計屬於白盒靜態分析,僅能發現代碼編寫存在的安全漏洞,無法發現業務功能存在的缺陷。
整體代碼審計付出的時間、代價很高,也很難真正讀懂這一整套程序,更難深入了解其業務邏輯。這種情況下,根據功能點定向審計、通過工具做介面測試等,能夠提高審計速度,更適合企業使用。
功能點人工代碼審計是對某個或某幾個重要的功能點的源代碼進行人工代碼審計,發現功能點存在的代碼安全問題,能夠發現一些業務邏輯層面的漏洞。功能點人工代碼審計需要收集系統的設計文檔、系統開發說明書等技術資料,以便代碼審計服務人員能夠更好的了解系統業務功能。由於人工代碼審計工作量極大,所以需要分析並選擇重要的功能點,有針對性的進行人工代碼審計。
安全的安全工程師都具備多年代碼審計經驗,首先通覽程序的大體代碼結構,在根據文件的命名第一時間辨識核心功能點、重要介面。下面就介紹幾個功能、介面經常會出現的漏洞:
1. 登陸認證
a. 任意用戶登錄漏洞
b. 越權漏洞
2. 找回密碼
a. 驗證碼爆破漏洞
b. 重置管理員密碼漏洞
3. 文件上傳
a. 任意文件上傳漏洞
b. SQL注入漏洞
4. 在線支付,多為邏輯漏洞
a. 支付過程中可直接修改數據包中的支付金額
b. 沒有對購買數量進行負數限制
c. 請求重訪
d. 其他參數干擾
5. 介面漏洞
a. 操作資料庫的介面要防止sql注入
b. 對外暴露的介面要注意認證安全
經過高級安全工程師測試加固後的系統會變得更加穩定、安全,測試後的報告可以幫助管理人員進行更好的項目決策,同時證明增加安全預算的必要性,並將安全問題傳達到高級管理層,進行更好的安全認知,有助於進一步健全安全建設體系,遵循了相關安全策略、符合安全合規的要求。
PHP 編程 計算本周五日期和下一個周五的日期
?php
$friday = strtotime(“Friday”);//本周五開始時間
$lastFri = strtotime(“last Friday”);//上周五開始時間 或者$friday-86400*7
$nextFri = strtotime(“next Friday”);//下周五開始時間 或者$friday+86400*7 注意一下:下周五這個有時會出問題,比如現在還不到周五,這樣得到的下周五的時間會和本周五一樣。
//如果需要某天截止時間可以在這一天的開始時間加上86400 也就是1天
echo “本周五開始時間是:”.date(“Y-m-d H:i:s”,$friday).”br /”;
echo “上周五開始時間是:”.date(“Y-m-d H:i:s”,$lastFri).”br /”;
echo “下周五開始時間是:”.date(“Y-m-d H:i:s”,$nextFri).”br /”;
希望我的回答對您有所幫助~~
當前市面上的代碼審計工具哪個比較好?
第一類:Seay源代碼審計系統
這是基於C#語言開發的一款針對PHP代碼安全性審計的系統,主要運行於Windows系統上。這款軟體能夠發現SQL注入、代碼執行、命令執行、文件包含、文件上傳、繞過轉義防護、拒絕服務、XSS跨站、信息泄露、任意URL跳轉等漏洞,基本上覆蓋常見的PHP漏洞。在功能上,它支持一鍵審計、代碼調試、函數定位、插件擴展、自定會規則配置、代碼高亮、編碼調試轉換、資料庫執行監控等數十項強大功能。
第二類:Fortify SCA
Fortify
SCA是由惠普研發的一款商業軟體產品,針對源代碼進行專業的白盒安全審計。當然,它是收費的,而且這種商業軟體一般都價格不菲。它有Windows、Linux、Unix以及Mac版本,通過內置的五大主要分析引擎對應用軟體的源代碼進行靜態分析。
第三類:RIPS
RIPS是一款基於PHP開發的針對PHP代碼安全審計的軟體。另外,它也是一款開源軟體,由國外安全研究員開發,程序只有450KB,目前能下載到的最新版本是0.54,不過這款程序已經停止更新了。它最大的亮點在於調用了PHP內置解析器介面token_get_all,並且使用Parser做了語法分析,實現了跨文件的變數及函數追蹤,掃描結果中非常直觀地展示了漏洞形成及變數傳遞過程,誤報率非常低。RIPS能夠發現SQL注入、XSS跨站、文件包含、代碼執行、文件讀取等多種漏洞,文件多種樣式的代碼高亮。
e語言代碼如何審計
e語言代碼審計方法:
1、php代碼審計的幾個方向,也是容易出問題的地方。
2、代碼審計也就是拿到某網站的源碼,進行審計,從而發現漏洞,當屬Seay源代碼審計系統2.1優先選擇。
3、注入和二次注入。
新手小白想學習滲透和網路安全,從哪裡入手?
基礎到入門的學習路線
一、網路安全
網路基礎
網路概述
(行業背景+就業方向+課程體系結構)
Vmware
IP地址的概述與應用
DOS命令與批處理
Windows服務安全
用戶管理
破解系統用戶密碼
NTFS許可權
文件伺服器
DNS服務
DHCP服務
IIS服務
活動目錄
域控管理
組策略(一)
組策略(二)
安全策略
PKI與證書服務
windows安全基線
Windows server 2003安全配置基線
階段綜合項目一
乙太網交換與路由技術
回顧windows服務
OSI協議簇
交換機的基本原理與配置
IP包頭分析與靜態路由
分析ARP攻擊與欺騙
虛擬區域網VLAN
VTP
單臂路由與DHCP
子網劃分VLSM
高級網路技術
回顧
三層交換
ACL-1
ACL-2
網路地址轉換
動態路由協議RIP
ipsec VPN
VPN遠程訪問
網路安全基線
Cisco基礎網路設備安全配置基線
安全設備防護
防火牆原理及部署方式
防火牆高級配置
IDS
WAF
階段綜合項目二
二、服務安全
Linux安全運維
Linux操作系統介紹與安裝與目錄結構分析
Linux系統的基本操作與軟體安裝
Linux系統下用戶以及許可權管理
網路配置與日誌伺服器建立應急思路
建立php主頁解析以及主頁的訪問控制
Nginx服務都建立以及tomcat負載均衡
iptables包過濾與網路地址轉換
實用型腳本案例
階段綜合項目三
三、代碼安全
前端代碼安全
HTML語言
CSS盒子模型
JS概述與變數
JS數據類型
JS函數
程序的流程式控制制
條件判斷與等值判斷結構
循環結構
JS數組
資料庫安全
sqlserver
access
oracle
mysql
後台代碼安全
PHP基礎
PHP語法
PHP流程式控制制與數組
PHP代碼審計中常用函數
PHP操作mysql資料庫
PHP代碼審計(一)
PHP代碼審計(二)
Python安全應用
初識python上篇
初識python下篇
基礎進階與對象和數字
字元串列表和元祖
字典條件循環和標準輸入輸出
錯誤異常函數基礎
函數的高級應用和模塊
面向對象編程與組合及派生
正則表達式和爬蟲
socket套接字
四、滲透測試
滲透測試導論
滲透測試方法論
法律法規與道德
Web 工作機制
HTTP 協議
Cookie 與session
同源策略
情報收集
DNS
DNS 解析
IP 查詢
主機測探與埠掃描
網路漏洞掃描
Web 漏洞掃描
其他工具
口令破解
口令安全威脅
破解方式
windows 口令破解
Linux 口令破解
網路服務口令破解
在線密碼查詢網站
常見的漏洞攻防
SQL 注入基礎
四大基本手法
其他注入手法
SQLmap 的使用
XSS 漏洞概述
XSS 的分類
XSS的構造
XSS 的變形
Shellcode 的調用
XSS 通關挑戰
實戰:Session 劫持
PHP 代碼執行
OS 命令執行
文件上傳漏洞原理概述
WebShell 概述
文件上傳漏洞的危害
常見的漏洞攻防
PUT 方法上傳文件
.htaccess 攻擊
圖片木馬的製作
upload-labs 上傳挑戰
Web容器解析漏洞
開源編輯器上傳漏洞
開源CMS 上傳漏洞
PHP 中的文件包含語句
文件包含示例
漏洞原理及特點
Null 字元問題
文件包含漏洞的利用
業務安全概述
業務安全測試流程
業務數據安全
密碼找回安全
CSRF
SSRF
提權與後滲透
伺服器提權技術
隧道技術
緩衝區溢出原理
Metasploit Framework
前言
urllib2
SQL 注入POC 到EXP
定製EXP
案例:Oracle Weblogic CVE2017-10271 RCE
案例:JBoss AS 6.X 反序列化
五、項目實戰
漏洞復現
內網靶機實戰
內網攻防對抗
安全服務規範
安全眾測項目實戰
外網滲透測試實戰
六、安全素養
網路安全行業導論
網路安全崗位職責分析
網路安全法認知
網路安全認證
職業人素質
php漏洞與代碼審計過程中需要注意的幾點
1.xss + sql注入
其中佔大頭的自然是XSS與SQL注入,對於框架類型或者有公共文件的,建議在公共文件中統一做一次XSS和SQL注入的過濾。寫個過濾函數,可由如下所示:
$_REQUEST = filter_xss($_REQUEST);
$_GET = filter_xss($_GET);
$_POST = filter_xss($_POST);
$_COOKIE = filter_xss($_COOKIE);
$_POST = filter_sql($_POST);
$_GET = filter_sql($_GET);
$_COOKIE = filter_sql($_COOKIE);
$_REQUEST = filter_sql($_REQUEST);
這裡有一點需要說明,$_REQUEST雖然等於$_GET+$_POST,但他們是獨立的數組,也就是說假設改變了$_GET的值,但$_REQUEST的值還是原來的值,所以過濾時都不能落下,至於其他的如$_FILE之類的就可忽略了。
最簡單的filter_xss函數是htmlspecialchars()
最簡單的filter_sql函數是mysql_real_escape_string()
當然,誰都知道這種過濾filter_sql只能過濾字元型和搜索型的注入,對於數字型是沒有辦法的,但也說明做了這層過濾後,只需在後面注意數字型的SQL語句就可以了,遇到了加intval過濾就可以了,這就變得容易多了。
2. 命令執行
對於命令執行,可以從關鍵字入手,總共可分為3類
(1) php代碼執行 :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. 信息泄露
信息泄露算是比較低危的漏洞了,比如列目錄這種就屬於部署問題,而與代碼審計無關了,而像暴路徑、暴源碼這種是需要防止的。曾經遇到這樣的代碼
?php if(empty($_GET[‘a’])) {…} ?
表面上似乎沒問題,可是當請求變為 xx.php?a[]=1時,即參數變為數組的時候,就會發生錯誤以致路徑泄露,而用isset判斷則不會,當然一個個防太麻煩,建議在配置文件中關閉錯誤提示,或者在公共文件中加入如下代碼以關閉錯誤顯示功能:
?php error_reporting(0);?
原創文章,作者:TZCW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/133814.html