第二章 偵查

作者:Gilberto Najera-Gutierrez
譯者:飛龍
協議:CC BY-NC-SA 4.0

簡介

在每個滲透測試中,無論對于網絡還是 Web 應用,都有一套流程。其中需要完成一些步驟,來增加我們發現和利用每個影響我們目標的可能的漏洞的機會。例如:

  • 偵查
  • 枚舉
  • 利用
  • 維持訪問
  • 清理蹤跡

在 Web測試場景中,偵查是一個層面,其中測試者必須識別網絡、防火墻和入侵檢測系統中所有可能組件。它們也會收集關于公司、網絡和雇員的最大信息。在我們的例子中,對于 Web 應用滲透測試,這個階段主要關于了解應用、數據庫、用戶、服務器以及應用和我們之間的關系。

偵查是每個滲透測試中的必要階段。我們得到了的目標信息越多,發現和利用漏洞時,我們擁有的選項就越多。

2.1 使用 Nmap 掃描和識別服務

Nmap 可能是世界上最廣泛使用的端口掃描器。他可以用于識別活動主機、掃描 TCP 和 UDP 開放端口,檢測防火墻,獲得運行在遠程主機上的服務版本,甚至是,可以使用腳本來發現和利用漏洞。

這個秘籍中,我們會使用 Nmap 來識別運行在目標應用上的所有服務。出于教學目的,我們會多次調用 Nmap 來實現它,但是這可以通過單個命令來完成。

準備

我們只需要將 vulnerable_vm 運行起來。

操作步驟

  1. 首先,我們打算看看服務器是否響應 ping,或者服務器是否打開:
1 nmap -sn 192.168.56.102
  1. 現在我們直到它打開了讓我們看看打開了哪些端口:
1 nmap 192.168.56.102
  1. 現在,我們要讓 Nmap 向服務器詢問正在運行的服務的版本,并且基于它猜測操作系統。
1 nmap -sV -O 192.168.56.10
  1. 我們可以看到,我們的 vulnerable_vm 使用 Linux 2.6 內核,并帶有 Apache 2.2.14 Web 服務器,PHP 5.3.2,以及其它。

工作原理

Nmap 是個端口掃描器,這意味著它可以向一些指定 IP 的 TCP 或 UDP 端口發送封包,并檢查是否有響應。如果有的話,這意味著端口是打開的,因此,端口上運行著服務。

在第一個名中,使用-sn參數,我們讓 Nmap 只檢查是否服務器響應 ICMP 請求(或 ping)。我們的服務器響應了,所以它是活動的。

第二個命令是調用 Nmap 的最簡方式,它只指定目標 IP。所做的事情是先 ping 服務器,如果它響應了,Nmap 會向 1000 個 TCP 端口列表發送探針,來觀察哪個端口響應,之后報告響應端口的結果。

第三個命令向第二個添加了如下兩個任務:

-sV請求每個被發現的開放端口的 banner(頭部或者自我識別),這是它用作版本的東西。
-O告訴 Nmap,嘗試猜測運行在目標上的操作系統。使用開放端口和版本收集的信息。

更多

有一些其它的實用參數:
-sT:通常,在 root 用戶下運行 Nmap 時,它使用 SYN 掃描類型。使用這個參數,我們就強制讓掃描器執行完全連接的掃描。它更慢,并且會在服務器的日志中留下記錄,但是它不太可能被入侵檢測系統檢測到。

-Pn:如果我們已經知道了主機是活動的或者不響應 ping,我們可以使用這個參數告訴 Nmap 跳過 ping 測試,并掃描所有指定目標,假設它們是開啟的。

-v:這會開啟詳細模式。Nmap 會展示更多關于它所做事情和得到回復的信息。參數可以在相同命令中重復多次:次數越多,就越詳細(也就是說,-vv-v -v -v -v)。

-p N1,N2,Nn:如果我們打算測試特定端口或一些非標準端口,我們可能想這個參數。N1Nn是打算讓 Nmap 掃描的端口。例如,要掃描端口 21,80 到 90,和 137,參數應為:-p 21,80-90,137

--script=script_name:Nmap 包含很多實用的漏洞檢測、掃描和識別、登錄測試、命令執行、用戶枚舉以及其它腳本。使用這個參數來告訴 Nmap 在目標的開放端口上運行腳本。你可能打算查看一些 Nmap 腳本,它們在:https://nmap.org/nsedoc/scripts/

另見

雖然它最為流行,但是 Nmap 不是唯一可用的端口掃描器,并且,取決于不同的喜好,可能也不是最好的。下面是 Kali 中包含的一些其它的替代品:

  • unicornscan
  • hping3
  • masscan
  • amap
  • Metasploit scanning module

2.2 識別 Web 應用防火墻

Web 應用防火墻(WAF)是一個設備或軟件,它可以檢查發送到 Web 服務器的封包,以便識別和阻止可能的惡意封包,它們通常基于簽名或正則表達式。

如果未檢測到的 WAF 阻止了我們的請求或者封禁了我們的 IP,我們滲透測試中就要處理很多的麻煩。在執行滲透測試的時候,偵查層面必須包含檢測和是被 WAF,入侵檢測系統(IDS),或者入侵阻止系統(IPS)。這是必須的,為了采取必要的手段來防止被阻攔或禁止。

這個秘籍中,我們會使用不同的方法,并配合 Kali Linux 中的工具,阿里為檢測和識別目標和我們之間的 Web 應用防火墻的存在。

操作步驟

  1. Nmap 包含了一些腳本,用于測試 WAF 的存在。讓我們在 vulnerable-vm 上嘗試它們:
1 nmap -p 80,443 --script=http-waf-detect 192.168.56.102
  1. 好的,沒檢測到任何 WAF。所以這個服務器上沒有 WAF。

  2. 現在,讓我們在真正擁有防火墻的服務器上嘗試相同命令。這里,我們會使用example.com,但是你可以在任何受保護的服務器上嘗試它。

1 nmap -p 80,443 --script=http-waf-detect www.example.com
  1. Imperva 是 Web 應用防火墻市場的主流品牌之一。就像我們這里看到的,有一個保護網站的設備。

  2. 這里是另一個 Nmap 腳本,可以幫助我們識別所使用的設備,并更加精確。腳本在下面:

1 nmap -p 80,443 --script=http-waf-fingerprint www.example.com
  1. 另一個 Kali Linux 自帶的工具可以幫助我們檢測和是被 WAF,它叫做waf00f。假設www.example.com是受 WAF 保護的站點:
1 wafw00f www.example.com

工作原理

WAF 檢測的原理是通過發送特定請求到服務器,之后分析響應。例如,在http-waf-detect的例子中,它發送了一些基本的惡意封包,并對比響應,同時查找封包被阻攔、拒絕或檢測到的標識。http-waf-fingerprint也一樣,但是這個腳本也嘗試攔截響應,并根據已知的不同 IDS 和 WAF 的模式對其分類。wafw00f也是這樣。

2.3 查看源代碼

查看網頁的源代碼允許我們理解一些程序的邏輯,檢測明顯的漏洞,以及在測試時有所參考,因為我們能夠在測試之前和之后比較代碼,并且使用比較結果來修改我們的下一次嘗試。

這個秘籍中,我們會查看應用的源代碼,并從中得出一些結論。

準備

為這個秘籍啟動 vulnerable_vm。

操作步驟

  1. 瀏覽 http://192.168.56.102

  2. 選擇 WackoPicko 應用。

  3. 右擊頁面并選擇View Page Source(查看源代碼)。會打開帶有頁面源代碼的新窗口:

  4. 根據源代碼,我們可以發現頁面所使用的庫或外部文件,以及鏈接的去向。同時,在截圖中可以看到,這個頁面擁有一些隱藏的輸入字段。選中的是MAX_FILE_SIZE,這意味著,當我們上傳文件時,這個字段判斷了文件允許上傳的最大大小。所以,如果我們修改了這個值,我們可能就能夠上傳大于應用所預期的文件。這反映了一個重要的安全問題。

工作原理

網頁的源代碼在發現漏洞和分析應用對所提供輸入的響應上非常有用。它也提供給我們關于應用內部如何工作,以及它是否使用了任何第三方庫或框架的信息。

一些應用也包含使用 JS 或任何其它腳本語言編寫的輸入校驗、編碼和加密函數。由于這些代碼在瀏覽器中執行,我們能夠通過查看頁面源代碼來分析它,一旦我們看到了校驗函數,我們就可以研究它并找到任何能夠讓我們繞過它或修改結果的安全缺陷。

2.4 使用 Firefox 分析和修改基本行為

Firebug 是個瀏覽器插件,允許我們分析網頁的內部組件,例如表格元素、層疊樣式表(CSS)類、框架以及其它。它也有展示 DOM 對象、錯誤代碼和瀏覽器服務器之間的請求響應通信的功能。

在上一個秘籍中,我們看到了如何查看網頁的 HTML 源代碼以及發現影藏的輸入字段。隱藏的字段為文件最大大小設置了一些默認值。在這個秘籍中,我們會看到如何使用瀏覽器的調試擴展,這里是 Firefox 或者 OWASP-Mantra 上的 Firebug。

準備

啟動 vulnerable_vm,訪問 http://192.168.56.102/WackoPicko

操作步驟

  1. 右擊Check this file(檢查此文件),之后選擇Inspect Element with Firebug(使用 Firebug 查看元素)。

  2. 表單的第一個輸入框存在type="hidden"參數,雙擊hidden

  3. hidden改成text之后按下回車鍵。

  4. 現在雙擊參數值的 30000。

  5. 將其改成 500000。


  6. 現在,我們看到了頁面上的新文本框,值為 500000。我們剛剛修改了文件大小上限,并添加了個表單字段來修改它。


工作原理

一旦頁面被瀏覽器收到,所有元素都可以修改,來改變瀏覽器解釋它的方式。如果頁面被重新加載,服務器所生成的版本會再次展示。

Firebug 允許我們修改幾乎每個頁面在瀏覽器中顯示的層面。所以,如果存在建立在客戶端的控制邏輯,我們可以使用工具來操作它。

更多

Firebug 不僅僅是個取消輸入框的隱藏或修改值的工具,它也擁有一些其它的實用功能:

Console標簽頁展示錯誤,警告以及一些在加載頁面時生成的其它消息。
HTML標簽頁是我們剛剛使用的頁面,它以層次方式展示 HTML,所以允許我們修改它的內容。
CSS標簽頁用于查看和修改頁面使用的 CSS 風格。
Script讓我們能夠看到完整的 HTML 源代碼,設置會打斷頁面加載的斷點,執行到它們時會打斷加載,以及檢查腳本運行時的變量值。
DOM標簽頁向我們展示了DOM(文檔對象模型)對象,它們的值,以及層次結構。
Net展示了發送給服務器的請求和它的響應,它們的類型、尺寸、響應時間,和時間軸上的順序。
Cookies包含由服務器設置的 Cookie,以及它們的值和參數,就像它的名字那樣。

2.5 獲取和修改 Cookie

Cookie 是由服務器發送給瀏覽器(客戶端)的小型信息片段,用于在本地儲存一些信息,它們和特定用戶相關。在現代 Web 應用中,Cookie 用于儲存用戶特定的數據、例如主題顏色配置、對象排列偏好、上一個活動、以及(對我們更重要)會話標識符。

這個秘籍中,我們會使用瀏覽器的工具來查看 Cookie 的值,它們如何儲存以及如何修改它們。

準備

需要運行我們的 vulnerable_vm。192.168.56.102用于該機器的 IP 地址,我們會使用 OWASP-Mantra 作為 Web 瀏覽器。

操作步驟

  1. 瀏覽 http://192.168.56.102/WackoPicko

  2. 從 Mantra 的菜單欄訪問Tools → Application Auditing → Cookies Manager +


    在這個截圖中,我們可以從這個插件中看到所有該時刻儲存的Cookie,以及所有它們所屬的站點。我們也可以修改它們的值,刪除它們以及添加新的條目。

  3. 192.168.56.102選擇PHPSESSID,之后點擊Edit

  4. Http Only的值修改為Yes


    我們剛剛修改的參數(Http Only)告訴瀏覽器,Cookie不能允許客戶端腳本訪問。

工作原理

Cookies Manager+ 是個瀏覽器插件,允許我們查看、修改或刪除現有的 Cookie,以及添加新的條目。因為一些應用依賴于儲存在這些 COokie 中的值,攻擊者可以使用它們來輸入惡意的模式,可能會修改頁面行為,或者提供偽造信息用于獲取高階權限。

同時,在現代 Web 應用中,會話 Cookie 通常被使用,通常是登錄完成之后的用戶標識符的唯一蘭苑。這會導致潛在的有效用戶冒充,通過將 Cookie 值替換為某個活動會話的用戶。

2.6 利用 robots.txt

要想進一步偵查,我們需要弄清楚是否站點有任何頁面或目錄沒有鏈接給普通用戶看。例如,內容管理系統或者內部網絡的登錄頁面。尋找類似于它的站點會極大擴大我們的測試面,并給我們一些關于應用及其結構的重要線索。

這個秘籍中,我們會使用robots.txt文件來發現一些文件和目錄,它們可能不會鏈接到主應用的任何地方。

操作步驟

  1. 瀏覽 http://192.168.56.102/vicnum/

  2. 現在我們向 URL 添加robots.txt,之后我們會看到如下截圖:


    這個文件告訴搜索引擎,jottocgi-bin的首頁不允許被任何搜索引擎(User Agent)收錄。

  3. 讓我們瀏覽 http://192.168.56.102/vicnum/cgi-bin/


    我們可以直接點擊和訪問目錄中的任何 Perl 腳本。

  4. 讓我們瀏覽 http://192.168.56.102/vicnum/jotto/

  5. 點擊名稱為jotto的文件,你會看到一些類似于下面的截圖的東西:


    Jooto 是個猜測五個字符的單詞的游戲,這會不會是可能答案的列表呢?通過玩這個游戲來檢驗它,如果是的話,我們就已經黑掉了這個游戲。

工作原理

robots.txt是 Web 服務器所使用的文件,用于告訴搜索引擎有關應該被索引,或者不允許查看的文件或目錄的信息。在攻擊者的視角上,這告訴了我們服務器上是否有目錄能夠訪問但對公眾隱藏。這叫做“以隱蔽求安全”(也就是說假設用戶不會發現一些東西的存在,如果它們不被告知的話)。

2.7 使用 DirBuster 發現文件和文件夾

DirBuster 是個工具,用于通過爆破來發現 Web 服務器中的現存文件和目錄。我們會在這個秘籍中使用它來搜索文件和目錄的特定列表。

準備

我們會使用一個文本文件,它包含我們要求 DirBuster 尋找的單詞列表。創建文本文件dictionary.txt,包含下列東西:

info
server-status
server-info
cgi-bin
robots.txt
phpmyadmin
admin
login

操作步驟

  1. 訪問Applications → Kali Linux → Web Applications → Web Crawlers → dirbuster

  2. 在 DIrBuster 的窗口中,將目標 URL 設置為 http://192.168.56.102/

  3. 將線程數設置為 20。

  4. 選擇List based brute force(基于爆破的列表)并點擊Browse(瀏覽)。

  5. 在瀏覽窗口中,選擇我們剛剛創建的文件(dictionary.txt)。

  6. 取消選擇Be Recursive(遞歸)。

  7. 對于這個秘籍,我們會讓其它選項保持默認。

  8. 點擊Start(開始)。

  9. 如果我們查看Resuults(結果)標簽頁,我們會看到,DirBuster 已經找到了至少兩個目錄中的文件:cgi-binphpmyadmin。響應代碼 200 意味著文件或目錄存在且能夠讀取。PhpMyAdmin 是基于 Web 的 MySQL 數據庫管理器,找到這個名稱的目錄告訴我們服務器中存在 DBMS,并且可能包含關于應用及其用戶的相關信息。

工作原理

DirBuster 是個爬蟲和爆破器的組合,它允許頁面上的所有連接,但是同時嘗試可能文件的不同名稱。這些名稱可以保存在文件中,類似于我們所使用的那個,或者可以由 DirBuster 通過“純粹暴力破解”選項,并為生成單詞設置字符集和最小最大長度來自動生成。

為了判斷文件是否存在,DirBuster 使用服務器生成的響應代碼。最常見的響應在下面列出:

200 OK:文件存在并能夠讀取。
404 File not found:文件不存在。
301 Moved permanently:這是到給定 URL 的重定向。
401 Unauthorized:需要權限來訪問這個文件。
403 Forbidden:請求有效但是服務器拒絕響應。

2.8 使用 Cewl 分析密碼

在每次滲透測試中,查查都必須包含分析層面,其中我們會分析應用、部門或過程的名稱、以及其它被目標組織使用的單詞。當需要設置人員相關的用戶名或密碼的時候,這會幫助我們判斷可能常被使用的組合。

這個秘籍中,我們會使用 CeWL 來獲取應用所使用的單詞列表。并保存它用于之后的登錄頁面暴力破解。

操作步驟

  1. 首先,我們查看 CeWL 的幫助我文件,來獲得能夠做什么的更好想法。在終端中輸入:
1 cewl --help
  1. 我們會使用 CeWL 來獲得 vulnerable_ vm 中 WackoPicko 應用的單詞。我們想要長度最小為 5 的單詞,顯示單詞數量并將結果保存到cewl_WackoPicko.txt
1 cewl -w cewl_WackoPicko.txt -c -m 5 http://192.168.56.102/ WackoPicko/
  1. 現在,我們打開 CeWL 剛剛生成的文件,并查看“單詞數量”偶對的列表。這個列表仍然需要一些過濾來去掉數量多但是不可能用于密碼的單詞,例如“Services”,“Content”或者“information”。

  2. 讓我們刪除一些單詞來構成單詞列表的首個版本。我們的單詞列表在刪除一些單詞和數量之后,應該看起來類似下面這樣:

  3. WackoPicko

  4. Users

  5. person

  6. unauthorized

  7. Login

  8. Guestbook

  9. Admin

  10. access

  11. password

  12. Upload

  13. agree

  14. Member

  15. posted

  16. personal

  17. responsible

  18. account

  19. illegal

  20. applications

  21. Membership

  22. profile

工作原理

CeWL 是個 Kali 中的工具,爬取網站并提取獨立單詞的列表。他它也可以提供每次單詞的重復次數,保存結果到文件,使用頁面的元數據,以及其它。

另見

其它工具也可用于類似目的,它們中的一些生成基于規則或其它單詞列表的單詞列表,另一些可以爬取網站來尋找最常用的單詞。

Crunch:這是基于由用戶提供的字符集合的生成器。它使用這個集合來生成所有可能的組合。Crunch 包含在 Kali 中。

Wordlist Maker (WLM):WLM 能夠基于字符集來生成單詞列表,也能夠從文本文件和網頁中提取單詞(http://www.pentestplus.co.uk/wlm.htm)。

Common User Password Profiler (CUPP):這個工具可以使用單詞列表來為常見的用戶名分析可能的密碼,以及從數據庫下載單詞列表和默認密碼(https://github.com/Mebus/cupp)。

2.9 使用 John the Ripper 生成字典

John the Ripper 可能是世界上最受大多數滲透測試者和黑客歡迎的密碼破解器。他擁有許多特性,例如自動化識別常見加密和哈希算法,使用字典,以及爆破攻擊。因此,它允許我們對字典的單詞使用規則、修改它們、以及在爆破中使用更豐富的單詞列表而不用儲存列表。最后這個特性是我們會在這個秘籍中使用的特性之一,用于基于極其簡單的單詞列表生成擴展字典。

準備

我們會使用上一節中生成的單詞列表,來生成可能密碼的字典。

操作步驟

  1. John擁有只展示用于破解特定密碼文件的密碼的選項。讓我們使用我們的單詞列表來嘗試它:
1 john --stdout --wordlist=cewl_WackoPicko.txt
  1. 另一個 John 的特性是讓我們使用規則,以多種方式來修改列表中的每個單詞,以便生成更復雜的字典。
1 john --stdout --wordlist=cewl_WackoPicko.txt --rules

你可以在結果中看到,John 通過轉換大小寫、添加后綴和前綴,以及將字母替換為數字和符號(leetspeak)來修改單詞。

  1. 現在我們需要執行相同操作,但是將列表發送給文件,便于我們之后使用:
1 john --stdout --wordlist=cewl_WackoPicko.txt --rules > dict_ WackoPicko.txt
  1. 現在,我們擁有了 999 個單詞的字典,它會在之后使用,用于進行應用登錄頁面上的密碼猜測攻擊。

工作原理

雖然 John the Ripper 的目標并不是字典生成器,而是高效地使用單詞列表來破解密碼(它也做的非常好)。它的特性允許我們將其用于擴展現有單詞列表,并創建更符合現代用戶所使用的密碼的字典。

這個秘籍中,我們使用了默認的規則集合來修改我們的單詞。John 的規則定義在配置文件中,位于 Kali 的/etc/john/john.conf

更多

有關為 John the Ripper創建和修改規則的更多信息,請見:
http://www.openwall.com/john/doc/RULES.shtml

2.10 使用 ZAP 發現文件和文件夾

OWASP ZAP(Zed Attack Proxy)是個用于 Web 安全測試的全能工具。他擁有代理、被動和主動漏洞掃描器、模糊測試器、爬蟲、HTTP 請求發送器,一起一些其他的有趣特性。這個秘籍中,我們會使用最新添加的“強制瀏覽”,它是 ZAP 內的 DisBuster 實現。

準備

這個秘籍中,我們需要將 ZAP 用做瀏覽器的代理。

  1. 打開 OWASP ZAP,從應用的菜單欄中,訪問Applications → Kali Linux → Web Applications → Web Application Fuzzers → owasp-zap

  2. 在 Mantra 或 Iceweasel 中,訪問主菜單的Preferences → Advanced → Network,在Connection中點擊Settings

  3. 選項Manual proxy configuration(手動代理配置),并將127.0.0.1設置為 HTTP 代理,8080 設置為端口。檢查選項來為所有協議使用同一個代理,并點擊OK

  4. 現在,我們需要告訴 ZAP 從哪個文件獲得目錄名稱。從 ZAP 的菜單中訪問Tools → Options → Forced Brows,之后點擊Select File

  5. Kali 包含一些單詞列表,我們會使用它們之一:選擇文件/usr/share/wordlists/dirbuster/directory-list-lowercase-2.3small.txt,之后點擊Open

  6. 提示框會告訴我們文件被加載了。點擊OK之后再點擊OK
    來離開Options對話框。

操作步驟

  1. 合理配置代理之后,瀏覽 ’http://192.168.56.102/ WackoPicko

  2. 我們會看到 ZAP 通過顯示我們剛剛訪問的主機的樹形結構,對這個行為作出反應。


  3. 現在,在 ZAP 的左上方面板中(Sites 標簽頁) ,右擊http://192.168.56.102 站點下面的 WackoPicko 文件夾。之后在上下文菜單中,訪問 Attack | Forced Browse directory

  4. 在底部的面板中,我們會看到顯示了 Forced Browse 標簽頁。這里我們可以看到掃描的過程和結果。

工作原理

當我們配置瀏覽器來將 ZAP 用作代理的時候,它并不直接發送給服務器任何我們打算瀏覽的頁面的請求,而是發到我們定義的地址。這里是 ZAP 監聽的地址。之后 ZAP 將請求轉發給服務器但是不分析任何我們發送的信息。

ZAP 的強制瀏覽的工作方式和 DIrBuster 相同,它接受我們所配置的字典,并向服務器發送請求,就像它嘗試瀏覽列表中的文件那樣。如果文件存在,服務器會相應地響應。如果文件不存在或不能被我們的當前用戶訪問,服務器會返回錯誤。

另見

Kali 中包含的另一個非常實用的代理是 Burp Suite。它也擁有一些特別有趣的特性。其中可用作強制瀏覽的替代品是 Intruder。雖然 Burp Suite 并不特地用于該目的,但是它是個值得研究的通用工具。


版權聲明:本文轉載自wizardforcel的專欄,如有侵權,請與本人聯系。
專欄鏈接:http://blog.csdn.net/wizardforcel

原文鏈接:http://lib.csdn.net/article/linux/50449

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內容