CTF web學習筆記

web狗生存之道 講師:y4ngshu

日常滲透測試(筆記)

1.信息收集

2.登陸後臺----->getshell

3.Getshell失敗----->轉換思路------>挖掘其它漏洞(sql注入等)------>列庫收集用戶信息

4.拿到用戶密碼------>撞郵箱-------->郵箱拿到關鍵信息----------->拿到vpn

5.通過vpn去訪問文件服務器------->寫腳本getshell

CTF學習

1.xss打後臺----->403---------->ajax抓取頁面迴轉出來--------->sql注入—>getting

2.Bypass Waf來注入 (%00,||,seselectlect 等等 ),國內web常見題型

3.代碼審計 花式雜耍php的各種特性(反序列化、弱類型)

4.文件上傳 花式Bypass上傳(.php111 .inc .phpt)

5.各種當前熱點漏洞
掃描路徑----> phpinfo() ------> php7 -------php7 opcache ---->查看文檔 -----> 花式繞坑 ------> Getshell

6.社會工程學(常用密碼)

7.各種Web漏洞夾雜

8.具有內網環境真實滲透場景

記大佬的滲透測試記錄

1.對目標進行信息採集
2.主站拿不下來,決定拿二級域名
3.排查二級域名
4.根據二級域名的名字選擇upload edit等等具有操作功能的站點入手
5.存在svn漏洞的話,嘗試通過wc、db的形式,利用sqlite將源碼還原出來
6.審計源代碼,快速定位代碼,全文搜索exec、upload,include等等這些危險操作
7.到一個exec命令執行,發現管理員權限
8.回溯代碼,定位管理員登錄功能,審計出cookie算法可以破解
9.僞造cookie反彈shell,上去後發現很多站點在上面,權限不夠
10.查看版本
11.利用之前ctf中的一個一句話提權成功,然後大殺四方。



1.常規的進行信息蒐集踩點工作
2.猜解用戶名密碼(組合了網站的域名和電話號)
3.登錄後臺,測試文件上傳功能,上傳文件中只要含有<?php>就進行上傳
4.腦洞一開,<script language =  "php'> 成功getshell

web狗如何在CTF-web中的套路中實現反套路

講師:三十、僞賽棍

題目類型

1.SQL注入
2.XSS
3.代碼審計
4.文件上傳
5.php特性
6.後臺登陸類
7.加密解密
8.其他腦洞、猜謎、和其它結合

SQL注入

1.簡單注入
	‘、and 1=1、or 1=1、xor 1=1
2.寬字節注入
	GBK字符集編碼,過濾繞過
3.花式繞mysql
	intervalue(),數字注入
4.繞關鍵詞檢測攔截
	重複性(selselectect)
5.MongoDB注入
	nosql注入(nosqlmap)
6.http頭部注入
	x-for-ward注入、IP地址注入、refer注入
7.二次注入
	插入注入,另一個頁面注入

SQL注入工具

1.burpsuit
2.Hackbar
3.Sqlmap
4.Nosqlmap

SQL解題思路

簡單:用sqlmap跑
判斷注入點,是否是Http頭注入?是否在圖片出注入?等
判斷注入類型
利用報錯信息注入
嘗試各種繞過過濾方法
查找是否是通過的某模塊存在的注入漏洞
延時注入(對待盲注)

SQL注入技巧

sql-mod="STRICT_TRANS_TABLES"(默認未開啓)
	插入數據截斷,插入“admin                                                     X”繞過或越權訪問

注意二次注入
	isg2015 web350 username從session中直接帶入查詢,利用數據庫字段長度
	截斷,\被gpc後爲\\,但是被截斷了只剩下一個\,引發注入。

如果猜解不出數據庫的字段,搜索後臺,查看源代碼,源代碼登錄時的表單中的字
段一班和1數據庫的字段名相同

繞過安全狗
	se%lect
 針對asp+access,首先來挖掘一下數據庫的特性。
	1.代替空格:%09、%0A、%0C、#0D
	2.可以截斷後面語句註釋符:%00,%16,%22,%27
	3.當%09、%0A、%0A、%0C、%0D超過一定長度後,安全狗防禦失效。
	4.UserAgent:BaiduSpider

magic_quotes_gpc=On的情況下,提交的參數中如果帶有引號’,就會被自動轉
義爲\',使很多注入攻擊無效

XSS

簡單:存儲型XSS盲打管理員後臺
各種瀏覽器auditor繞過
富文本過濾黑白名單繞過
CSP繞過
Flash xss
AngularJS客戶端模板XSS
.....

XSS注入工具

Burpsuit
HackBar
Xss平臺
swf decomplier
flasm
doswf(swf加密)
Crypt Flow (swf加密)
......

XSS解題思路

簡單XSS,直接利用XSS平臺盲打管理員cookie
過濾標籤,嘗試各種繞過方法
存在安全策略csp等,嘗試相應的繞過方法
逆向.swf文件,審計源碼,構造XSS payload
......

文件上傳

類型:

  • 00截斷上傳
  • multipart/form-data大寫繞過
  • 花式文件後綴(.php345 .inc .phtml .phps)
  • 各種文件內容檢測
  • 各種解析漏洞
    ngix-fastcgi
  • 花式打狗棒法
  • 在線編輯器漏洞等
    fckeditor
  • fckeditor 2.0<2.2 允許上傳asa,cer,php2,php4,inc.pwml,pht後綴的文件上傳後它保存的文件直接使用$sFilePath = $sServerDir ,$Filename,而沒有使用$sExtension爲後綴,直接導致在win下上傳文件後面加個 . 來突破
  • 文件包含

文件上傳工具

  • hackbar
  • Burpsuit
  • Webshell
  • 中國菜刀
  • AantSword

文件上傳解題思路

  • 簡單文件上傳,查看響應
  • 是否只是前端過濾後綴名,文件格式,抓包繞過
  • 是否存在截斷上傳漏洞
  • 是否對文件頭檢測(圖片馬等)
  • 是否對內容進行檢測,嘗試繞過方法
  • 是否上傳馬被查殺,免殺
  • 是否存在各種解析漏洞
  • http頭以兩個CRLF(相當於\r\n\r\n)作爲結尾,\r\n沒有被過濾時,可以利用\r\n作爲url參數截斷http頭,後面跟上注入代碼

  • 練習題:HTCTF-2016 題目14

php特性

  • 弱類型
  • intval
  • strpos和==
  • 反序列化+destruct
  • \0截斷
  • iconv截斷 (%00截斷)
  • parse_str函數
  • 僞協議(io流操作)

PHP特性-工具

php特性-解題思路

  • 判斷是否存在php種截斷特性
  • 查看源碼,判斷是否存在php弱類型問題
  • 查看源碼,注意一些特殊函數
    eval(),system(),intval()
  • 構造變量,獲取flag
  • 是否存在Http (請求參數污染,加兩個參數的不同情況。)
  • 魔法哈希(magic hash)
    mad5(‘240610708’) = md5(‘QBKCDZO’) = 0e830400451993494058024219903391

php特性-僞協議

  • php://filter --對本地磁盤文件進行讀寫
    http://localhost/test/index.php?file=php://filter/read=convert.base64encode/resource=index.php

  • php://input 僞協議 php://input 需要服務器支持,同時要求 “allow_url_include ”屬性設置爲 on

      ```
      <?php
      	@eval(file_get_contents('php://input'))
      ?>
      post<?php system('ifconfig');?>
      ```
    
  • php://memory 總是吧數據存儲在內存中

  • php://temp會在內存量達到預定義的限制後(默認2M)存入臨時文件

1.DATA僞協議,分號和逗號有爭議

  • data:文本數據
  • data:text/plain,文本數據
  • data:text/html,HTML代碼
  • data:text/css;base64,css代碼
  • data:text/javascript;base64,javascript 代碼
  • data:image/x-icon;base64,base64編碼的icon圖片數據
  • data:image/gif;base64,base64編碼的gif圖片
  • data:image/png;base64,base64編碼的png圖片
  • data:image/jpeg;base64,base64編碼的jpeg圖片

glob://查找匹配文件路徑模式

後臺登錄類

  • 萬能密碼繞過
  • 變形萬能密碼繞過
  • 社工的方式得到後臺密碼
  • 爆破方式得到後臺密碼
  • 各種cms後臺登陸繞過

後臺登錄類-工具

  • burpsuit
  • hackbar
  • sqlmap
  • 社工庫

後臺登錄類解題思路

  • 根據提示,判斷是否是普通的登錄繞過,或是利用社工的方式
  • 普通登錄繞過嘗試各種萬能密碼繞過,或通過sql注入漏洞得到賬號密碼,或xss盲打
  • 若果是cms系統登陸,查找是否有相應版本的後臺繞過漏洞
  • 社工方式(谷歌、百度、社工庫)
  • 爆破獲取

加密解密類-考察知識點

  • 簡單編碼(多次basecode編碼)
  • 密碼題(hash長度擴展、異或、移位加密、各種變形)
  • js加解密
  • 根據加密源碼寫解密源碼

加解密類-工具

  • 各種編碼轉換工具
  • Burpsuit
  • 瀏覽器控制檯

加解密類-解題思路

  • 判斷是編碼還是加密
  • 如果是編碼,判斷編碼類型,嘗試解碼或者多次編碼
  • 如果是加密,判斷是現有的加密算法,還是字寫得加密算法
  • 是否是對稱加密,是否存在密鑰泄露等,獲取密鑰解密
  • 根據加密算法,推斷出解密算法

其它類型

  • 社工、花式查社工庫、微博、QQ簽名、whois、谷歌

    例題:ISG CTF 2014 Web4 火眼金睛

    google查找googole天涯社會工庫,即可查找。
    http://www.findmima.com

  • SSRF,包括花式探測端口,302跳轉、花式協議利用、gophar直接取shell等等

    例題:XDCTF2015 Web1 300

    本題爲SSRF,進去是一個框框。利用SSRF漏洞,直接嘗試file://index.php,然後就吧index.php的源碼讀到,之後進行代碼審計。

  • 協議,花式IP僞造 X-Forwarded-For/X-Client-IP/X-Real/CDN-Src-IP、花式藏FLAG、花式分析數據包

    例題:HCTF2014jianshu (400pt)
    解題思路:

    • Html編碼payload用burp改包提交獲得一個ip和審覈鏈接。
      xss獲取遠程IP地址 :218.75.123.186
      後臺訪問頁面:
      http://121.41.37.11:2504/get.php?user=V1ew
      X-Forwarded-For 僞造登錄上去沒有flag。
      看到提示轉換思路,後面爲sql注入,得到管理員密碼
      http://121.41.37.11:25045/get.php?user=A1rB4s1C
      加上 X-Forwarded-For :218.75.123.186僞造ip登陸上去。
  • XXE 各種XML存在地方(rss/word/流媒體)、各種XXE利用方法(文件讀取)
    例題:AliCTF-Quals-2014 Web-300

推薦經典例題:http://lab10.wargame.whitehat.vn/web007

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章