Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
1xx:信息,請求收到,繼續處理
2xx:成功,行為被成功地接受、理解和采納
3xx:重定向,為了完成請求,必須進一步執行的動作
4xx:客戶端錯誤
5xx:服務器錯誤
返回為:200存在文件
返回為:403存在文件夾
返回為:3xx均可能存在
返回為:404不存在文件及文件夾
返回為:500均可能存在
查看的方法:輸入要打開的文件或文件夾的路徑,右鍵-檢查
點擊網絡,下面會有該文件或者文件夾的狀態,方法,域名等信息
可以看到status這個狀態碼顯示的值是200,代表存在文件
也就是說訪問這個地址的search.php文件是存在的
可以看到訪問這個文件的時候是不存在的
訪問的結果是404,代表了文件不存在
也就是說,我們可以通過HTTP響應碼的值來判斷文件或文件夾存在的狀態
像有一些掃描工具,會有下面的響應碼勾選項,意思是如果在掃描的過程中碰到你所勾選的響應碼對性的文件就輸出顯示到掃描器上
想要判斷文件或者文件夾是否存在可以打開hackbar,在后面加上要判斷的文件或文件夾,按下execute
在攔截請求下面可以找到改包
發給重發器后出現404,說明沒有jjj這個文件或者文件夾
響應頭標:
像請求頭標一樣,它們指出服務器的功能,標識出響應數據的細節。
空行:
最后一個響應頭標之后是一個空行,發送回車符和退行,表明服務器以下不再有頭標。
響應數據:
HTML文檔和圖像等,也就是HTML本身
搭建安全問題 涉及知識
常見搭建平臺腳本啟用
域名IP目錄解析安全問題
常見文件后綴解析對應安全
常見安全測試中的安全防護
WEB后門與用戶及文件權限
web的組成架構模型
網站源碼:分腳本類型,分應用方向
操作系統: windows linux
中間件(搭建平臺): apache iis tomcat nginx等
數據庫:access mysql mssql oracle sybase db2 postsql等
域名IP目錄解析安全問題
一個服務器ip下可以有或多個網站,所以用域名區分,所以用ip地址訪問和用域名訪問的結果不一定是相同的,有可能用域名訪問的目錄是用ip地址訪問的的目錄的子目錄。有一些程序員在會將程序備份,一般備份就備份在www(是用ip地址訪問時訪問的文件)的這個文件下,而用域名訪問時,就找不到這些備份文件(因為域名訪問的是www文件下的一個子文件),所以我們在掃描的時候就要掃描ip地址,才可能掃描到這些文件
總的來說,域名解析訪問的是域名解析的目錄,而ip解析訪問的目錄一般在域名解析的上一級目錄
常見文件后綴解析對應安全 對應實驗演示:
從這兩張圖可以看到,如果文件后綴名是asp的格式的話他對應的可執行文件的路徑是圖示路徑下的asp.dll文件
然后我們再添加一個其他的,新建一個拓展名(自己命名的文件后綴),同一個可執行路徑
再放置一個以它為后綴名的文件,這個文件明顯就是一個未知的后綴名
在里面寫上一個sap的后門
將其放入后保存
然后再連接發現是可以連接成功的
上面的實驗說明了在搭建平臺上面有這樣一個設置,這個設置是可以匹配后綴名和可執行文件,也就是說為什么.asp的文件可以解析呢,因為在這里有一個設置可執行文件路徑,對應是解析這個asp.dll文件,那么如果其他后綴名也是對應的解析這個asp.dll文件的話,那么他就會以asp這個腳本的格式取解析相應的后綴
所以說我們碰到一些網站,在訪問它的格式的時候,會發現有的網站在訪問這個格式的時候會不解析,有的是正常解析,有的就報錯,那么出現這種情況就是網站中間件上面的一個解析協議
也就解釋了為什么cdx和cer可以都可以解析dll
回到上面的問題,有些網站訪問的時候解析不出來就可以是上上面的中間件會自己添加,修改目錄路徑等,所以就解析不出來
常見安全測試中的安全防護講解
在這里有三種安全防護,這里安全通信就類似于證書一樣的東西
在身份驗證里面有啟動匿名訪問,如果關閉的話也就是在訪問的時候需要登入,也就是要有對應計算機的上的用戶的賬號密碼才能訪問它,如果開啟的話,在訪問時就會默認以下面的用戶名去訪問
IP地址和域名限制也就是說是會限制訪問的IP(域名也可以解析稱IP地址)如果用被限制的IP地址訪問就會出現
WEB后門與用戶及文件權限解說
這個匿名訪問時候是用這個用戶去訪問的,也叫來賓用戶
我們把他下面的拒絕選項全部勾選
然后我們刷新之后再訪問就發現看不到東西了
這個就是文件夾設置相關權限,他禁止wesite來賓用戶的一個權限,導致連接的后門看不到任何東西,他也是一個防護技巧,也是測試里面經常碰上的一類問題
在IIS里面的執行權限里選擇無,再訪問xiaodi8,會提示錯誤,原因是他在目錄下修改了執行權限,不給執行權限
然后我們繞過的思路是把后門放到其他可執行的文件下,比如根目錄
演示案例:
基于中間件的簡要識別
基于中間件的安全漏洞
基于中間件的靶場使用
我們去訪問一個網站,抓取數據包,可以看到是由中間件的
我們再發現中間件(搭建平臺后)可以翻閱一些資料查找中間件的漏洞
Web中間件常見漏洞總結,Vulhub靶場
Web源碼拓展 前言
WEB源碼在安全測試中是非常重要的信息來源,可以用來代碼審計漏洞也可以用來做信息突破口,其中WEB源碼有很多技術需要簡明分析。比如:獲取某ASP源碼后可以采用默認數據庫下載為突破,獲取某其他腳本源碼漏洞可以進行代碼審計挖掘或分析其業務邏輯等,總之源碼的獲取將為后期的安全測試提供了更多的思路。
知識點 關于WEB源碼目錄結構
①后臺目錄
②模板目錄
③數據庫目錄
④數據庫配置文件
關于WEB源碼腳本類型
①ASP
②PHP
③ASPX
④JSP
⑤JAVAWEB
⑥Python
關于WEB源碼應用分類
①門戶
②電商
③論壇
④第三方
⑤其他
關于WEB源碼其他說明
①框架或非框架
②CM識別
③開源或內部
④源碼獲取
web源碼目錄
我們找一個源碼來分析
admin是網站后臺的意思,也就是后臺操作的地方,如果訪問他的話可以看到一些后臺路徑
menber會員的,會員中心的一些東西,這個就是一些模板文件
像一些數據庫的配置文件一般就會再配置的英文單詞的目錄下面,這里應該是在這個目錄下,我們可以試著把它打開,再找一些關鍵字來判斷
這里我們把這個文件打開
可以試著找一下,要是找不到可是試著去別的文件下找
如果打開到類似于這個的就數據庫配置文件,這里有數據庫的賬號,地址,密碼等信息,如果我們得到這個信息,就得到對方的這個網站和數據庫通信之間的一些信息,包括他們連接的賬號密碼等等,如果有這個賬號密碼的話就可以去連接對方的數據庫,然后從數據庫里得到我這個網站的網站源碼,里面涉及到的管理員的賬號密碼也就是它后臺里面的賬號密碼,然后再可以利用這個賬號密碼去登入后臺
關于源碼獲取的相關途徑:
搜索,咸魚淘寶,第三方源碼站,各種行業對應
總結:
關注應用分類及腳本類型估摸出可能存在的漏洞(其中框架類例外),在獲取源碼后可進行本地安全測試或代碼審計,也可以分析其目錄工作原理(數據庫備份,bak文件等),未獲取到的源碼采用各種方法想辦法獲取!
演示案例: ASP,PHP等源碼下安全測試
①平臺識別-某CMs無漏洞-默認數據庫2
②平臺識別-某CMs有漏洞-漏洞利用
源碼應用分類下的針對漏洞
niushop電商類關注漏洞點-業務邏輯
簡要目標從識別到源碼獲取
①本地演示個人博客-手工發現其CMS-漏洞搜索或下載分析
② ./內部搭建的靶場
③人工爆框架-搜索特定url-獲取其他相符站點-漏洞測試
④借助特定行業源碼或咸魚進行搜索獲取-本地搭建-代碼審計或其他
cms識別
(1)首先它是分為三種,人工,工具和平臺
(2)工具識別需要長期的更新和維護,它的原理就是采用掃描特有文件,就是說cms的源碼會有一個特有的文件,通過掃描特有文件是由存在來判斷是否使用cms一些字典庫網站:
打開后會看到一些cms的識別庫,比對md5值
前面的那個紅色框起來的是文件路徑,通過文件路徑訪問下載改文件,下載之后在cmd下執行 - +目標名字,這個命令來查到他的md5值,找到之后拿去對比
如果不想要自己手動識別就可以去平臺去識別
靶場試煉(HACK靶場)
這里不做攻擊,只講思路
在虛擬器上打開靶場后,訪問127.0.0.1會有相應的漏洞選擇
這里以8003為例
訪問8003端口
在它網頁下面可以看到有xycms,我們試著去網上下載xycms源碼
下載完之后打開看到的就是他的網站源碼
打開他的文件:xydata
打開之后看到的這個文件是asp網站特有的,也就是說只有asp網站才會有這個文件這個mdb就是數據庫的一個文件,可是直接用excel打開,打開之后可以看到它有很多東西
一般情況下后臺的賬號密碼就會在里面,把密碼拿去解密一下就可以得到啦
根據之前在源碼找到的目錄,訪問他的admin目錄就可以進入它的后臺,然后根據之前破解出來的密碼賬號就可以登入了,然后就成功進入他的后臺
以8006端口為例
打開之后可以看到是php的一個程序
拉到最下面可以看到他的版本號,名字號
然后我們可以看到在網上搜索是發現是有很多它的漏洞的
當然也可以把它這個程序下載下來再做漏洞分析
源碼應用分類下的針對漏洞
niushop電商類關注漏洞點-業務邏輯
電商系統主要就是支付,支付的話可能會存在一些業務漏洞
(這里主要講思路)
先登入用戶抓包
我們估計購買的數量就是由他來控制的
我們在點擊提交訂單后會生成訂單
如果在上面我們把數量改為-1,就會顯示需要付款0元
簡要目標從識別到源碼獲取
本地演示個人博客-手工發現其CMS-漏洞搜索或下載分析
http: / / / 內部搭建的靶場
人工爆框架-搜索特定url-獲取其他相符站點-漏洞測試
借助特定行業源碼或咸魚進行搜索獲取-本地搭建-代碼審計或其他
如何手動發現CMS漏洞呢,先抓包,如圖,看抓到的包里有沒有一些特殊名字的文件,有的話可以復制下來去谷歌搜索一下信息
操作系統和數據庫 前言:
除去前期講到過的搭建平臺中間件,網站源碼外,容易受到攻擊的還有操作系統,數據庫,第三方軟件平臺等,其中此類攻擊也能直接影響到WEB或服務器的安全,導致網站或服務器權限的獲取。
操作系統層面
識別操作系統常見方法
可以使用namp來識別操作系統
簡要兩者區別及識別意義
不同的操作系統不管是操作上面還是設置上面還是安全方面都有很大的不同,最主要的區別第一個就是網站的路徑問題,第二就是大小寫的區分(windows是部分大小寫的而Linux是準確區分大小寫的)第三,windows一些文件在Linux上是不能運行的而linux的一些文件在Windows上也不能運行。
操作系統層面漏洞類型對應意義
簡要操作系統層面漏洞影響范圍
數據庫層面 識別數據庫類型常見方法
首先先要知道網站分量兩類,一類是靜態的一類是動態的,靜態的就類似于大學時候老師讓我們自己制作網站的那種類型的網站,他是沒有數據傳輸的,而動態網站是有數據傳輸的,大多數的網站都是動態網站,當然靜態網站是沒有漏洞的,因為它沒有數據傳輸,也就是說必須要有數據傳輸才會有有漏洞
識別方式的話就是如果有網站就去網站里識別,如果沒有網站的話就通過nmap也可以掃描
如何在網站上識別數據庫?
一般如果是asp的就是access和sql server ,php的話一般就是MYSQL
如果是aspx的話一般就是mssql,jsp可以是mssql和oracle ,python的話一般就是可以是mysql,,mangodb等等
為什么可以用端口掃描呢?
在端口掃描的時候會掃描端口開放情況,數據庫一旦在運行的時候就會開放一個默認端口,就比如mysql的默認打開端口是3306,access沒有端口,mssal開放的端口是1433,oracle開放的端口是1521,MongoDB默認端口是27017,
Redis默認端口是6379等等
數據庫類型區別及識別意義
數據庫的不同表示他的結構也不同,每個數據庫它里面的安全機制,寫法結構都會有少許的不一樣,所以它會產生的漏洞也不一樣
數據庫常見漏洞類型及攻擊
有弱口令攻擊
簡要數據庫層面漏洞影響范圍 第三方層面
如何判斷有那些第三方平臺或軟件
簡要為什么要識別第三方平臺或軟件常見第三方平臺或軟件漏洞類型及攻擊簡要第三方平臺或軟件安全測試的范圍
補充
除去常規wEE安全及APP安全測試外,類似服務器單一或復雜的其他服務(郵件,游戲,負載均衡等),也可以作為安全測試目標,此類目標測試原則只是少了web應用或其他安全問題。所以明確安全測試思路是很重要的!
也就是說如果一個目標上面既沒有網站也滅有APP那么該怎么去操作他呢,這時候就需要去判定他有沒有其他服務,比如說他是郵件服務器,或者上面是游戲的服務器等等,只要它上面有服務,都可以稱為安全測試的目標,只是說找漏洞的方向就改變了
加密算法 前言:
在滲透測試中,常見的密碼等敏感信息會采用加密處理,其中作為安全測試人員必須要了解常見的加密方式,才能為后續的安全測試做好準備,本次課程將講解各種加密編碼等知識,便于后期的學習和發展。
較為常用的加密解密工具
常見加密編碼等算法解析
MD5,SHA,ASC,進制,時間戳,URL,BASE64,,AES,DES等
MD5加密
MD5加密是最常見,也是碰上最多的一種加密方式
這里分為兩種,一個是MD5,一個是16位MD5,16位MD5是加密之后是16位的一個長度
例:
如果是MD5加密123456(顯示的結果是32位的):
如果是15位MD5加密123456
在這里它寫的很清楚,MD5和16位MD5都是不可逆的,也就是說不可以逆向解密,網上的MD5解密不是直接從密文反解到明文,而是利用枚舉的方來比對與結果是否匹配
一般MD5和16位的MD5的密文都是1-9得數字和26位小寫英文字母隨機組合而成的
SHA加密
我們可以看到他分有很多種
可以看到后面數字選得越大,他的長度就越長,但其實這幾種都是SHA得加密方式,只是選的不同說加密得長度不同,但是每一種加密得長度都是固定的,他的加密得方式和MD5是一樣得都是由1-9得數字和26位小寫英文字母隨機組合而成,解密也和MD5一樣
時間戳
一般就是網站或者是服務器,腳本語言里面經常會使用的一種東西,就是計算機時間和一般在程序里面看時間一般就會采用時間戳
URL
URL就是我們訪問網站得時候得一個地址信息
我們在訪問地址得時候,凡是出現%開始后面加上0-9和a-z的這個組合,然后是兩位的時候代表是URL編碼,注意有時候我們看到%開頭的步一營是一次加密有可能是二次加密或者多次加密。但瀏覽器只會加密一次,而這種多次加密一般實在關鍵字繞過會涉及到這種東西
BASE64編碼
BASE64編碼也是我們可以經常碰到的一種加密方式,從下圖可以看出來他是我們寫得越多加密的就越長,它的特點就是是由0-9和a到z得大小寫字母隨機組合而成得,它這里是區分大小寫的,明文越長密文也就也長,經常惠子啊字符串后面出現兩個等于號或者一個等于號或者(少)沒有等于號,一般用在于代碼上編碼,為了代碼得安全性,也可以對密碼進行編碼,或者一些參數值進行編碼
編碼
這個編碼URL有點類似
這個編碼得特點是也是從%開始加上u加上四位的數字,每一位就對應一個東西
也就是說它編碼的每一位(以%號開頭算起的到下一個%號結尾)對應明文的兩個位
可以看看到單數的時候前面是兩個0,雙數的時候是四個0
AES加密
可以看到他有密碼和偏移量,也就是說它的解密難度會更大
可以看到他的這個加密和BASE64的有點相似,因為他的這個輸出是BASE64的這個轉換也就是說他除了密文還進行了BASE64的編碼
這個是它AES的值,所以在碰到BASE64的編碼的時候如果解碼之后還是亂碼可能是AES加密,同樣的如果想要對AES解密的話,需要的條件是填充方式,數據塊,密碼,偏移量,其中密碼的偏移量是一定要知道的
還有一個十六進制的
DES加密
DES也有點類似于BASE64,他是明文越長,密文也就越長
在DES加密時有時候會出現+,而AES加密時有時候會出現/
常見加密形式算法解析
直接加密,帶salt,帶密碼,帶偏移,帶位數,帶模式,帶干擾,自定義組合等
常見解密方式(針對)
枚舉,自定義逆向算法,可逆向
了解常規加密算法的特性
長度位數,字符規律,代碼分析,搜索獲取等
*請認真填寫需求信息,我們會在24小時內與您取得聯系。