目錄
傳輸數據-編碼型&加密型等
傳輸格式-常規&JSON&XML等
密碼存儲-Web&系統&三方應用
代碼混淆-源代碼加密&逆向保護
思維導圖
章節知識點:
應用架構:Web/APP/云應用/三方服務/負載均衡等
安全產品:CDN/WAF/IDS/IPS/蜜罐/防火墻/殺毒等
滲透命令:文件上傳下載/端口服務/Shell反彈等
抓包技術:HTTP/TCP/UDP/ICMP/DNS/封包/代理等
算法加密:數據編碼/密碼算法/密碼保護/反編譯/加殼等
傳輸數據-編碼型&加密型等
https://indialms.in/wfp_login.php?r_id=1base64編碼?
username=YWRtaW4=
https://indialms.in/wfp_login.php?r_id=MQ==?112123
MD5加密
username=admin&password=123456
username=admin&password=e10adc3949ba59abbe56e057f20f883e
對方服務器可能會在接受的時候進行解碼在帶入,如果我們還是按照原有思路不對自己的Payload進行同樣編碼的話 傳入過去的東西就是不認識的東西 測試無效
正確:測試的話也要進行payload同樣的加密或編碼進行提交安全測試漏洞時候 通常都會進行數據的修改增加提交測試以數據的正確格式發送接受才行
如果現在我要進行密碼的破解爆破
字典文件:
帳號什么都不用更改?去替換username=值即可
密碼需要進行密碼算法?保證和password=值同等加密才行
https://tv.sohu.com/v/dXMvMzg1MjM2NzE5LzQyNzUyODUzOC5zaHRtbA==.html
傳輸格式-常規&JSON&XML等
json?xml?常規{
btnPost:"%E7%99%BB%E5%BD%95";
username:"admin";
password:"e10adc3949ba59abbe56e057f20f883e?and";
savedate:1;
}
前端和后端的數據傳輸格式可能使用 json xml 格式進行交互,我們需要使用響應的格式才能確保后端的響應。
密碼存儲-Web&系統&三方應用
md5解密:md5在線解密破解,md5解密加密
zzzcms?admin?/123456?密文利用md5加密
md5(123456)=密文
dz3.2?admin?/123456?
md5(md5(123456).salt)=密文? ? ? ? “123456”用md5加密后拼接salt值后整體再md5加密
dz3.5?admin?/?123456
aes?des(密匙?偏移量?填充?模式等)
$2y$10$OtsSmawENczg1BLcQCEn5OdLqJC9GLiDrClwEUooNnn8b609DfJc.
影響:安全后滲透測試,不同的web網站對于管理員密碼的加密算法不同
md5解密時采用碰撞式:不是算法的逆向的還原解密。比如密碼md5(123456),是拿字符以及數字的對應的形式去碰撞,從前往后直到撞出完整密碼。
代碼混淆-源代碼加密&逆向保護
PHP加密網站:PHP加密 - PHP在線加密平臺
包括還有針對 EXE,APK 文件加殼的保護,方式逆向破解
JS前端代碼加密:
JS顏文字 jother JSFUCK
顏文字特征:一堆顏文字構成的js代碼,在F12中可直接解密執行
jother特征:只用! + ( ) [ ] { }這八個字符就能完成對任意字符串的編碼。也可在F12中解密執行JSFUCK特征:與jother很像,只是少了{ }
后端代碼混淆:
PHP .NET JAVA
PHP:亂碼,頭部有信息
.NET:DLL封裝代碼文件,加保護
JAVA:JAR&CLASS文件,,加保護
舉例:加密平臺 Zend ILSpy IDEA
應用場景:版權代碼加密,開發特性,CTF比賽等
拓展資料參考
1.常見加密編碼進制等算法解析
MD5,SHA,ASC,進制,時間戳,URL,BASE64,Unescape,AES,DES等
2.常見加密編碼形式算法解析
直接加密,帶salt,帶密碼,帶偏移,帶位數,帶模式,帶干擾,自定義組合等
3.常見解密解碼方式(針對)
枚舉,自定義逆向算法,可逆向
4.常見加密解碼算法的特性
長度位數,字符規律,代碼分析,搜索獲取等
?
識別算法編碼方法:
1、看密文位數
2、看密文的特征(數字,字母,大小寫,符號等)
3、看當前密文存在的地方(Web,數據庫,操作系統等應用)
-傳輸數據編碼:
BASE64 URL HEX ASCII?
BASE64值是由數字"0-9"和字母"a-f"所組成的字符串,大小寫敏感,結尾通常有符號=
URL編碼是由數字"0-9"和字母"a-f"所組成的字符串,大小寫敏感,通常以%數字字母間隔
HEX編碼是計算機中數據的一種表示方法,將數據進行十六進制轉換,它由0-9,A-F,組成
ASCII編碼是將128個字符進行進制數來表示,常見ASCII碼表大小規則:0~9<A~Z<a~z
-傳輸數據加密:同密碼存儲加密
-傳輸數據格式:常規字符串 JSON XML等?-密碼存儲加密:
MD5 SHA1 NTLM AES DES RC4
MD5值是32或16位位由數字"0-9"和字母"a-f"所組成的字符串
SHA1這種加密的密文特征跟MD5差不多,只不過位數是40
NTLM這種加密是Windows的哈希密碼,標準通訊安全協議
AES,DES,RC4這些都是非對稱性加密算法,引入密鑰,密文特征與Base64類似Linux用戶加密方式:Linux 用戶密碼的加密方式_linux查看系統密碼加密方式-CSDN博客
數據顯示編碼:
UTF-8 GBK2312等
部分資源:
https://www.cmd5.com
http://tmxk.org/jother
http://www.jsfuck.com
http://www.hiencode.com
http://tool.chacuo.net/cryptaes
https://utf-8.jp/public/aaencode.html
https://github.com/guyoung/CaptfEncoder
30余種加密編碼類型的密文特征分析(建議收藏)
CTF中常見密碼題解密網站總結(建議收藏)
CTF密碼學常見加密解密總結(建議收藏)
?
思維導圖
?