banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

常規測試中url參數測試

常見參數#

發現一個這樣的項目top25-parameter,統計了常規漏洞的一些利用參數,然後擴展了一下:

最常用的 25 個 xss 參數:

Top 25 Cross-Site Scripting (XSS) Parameters for @trbughunters  
  
?q={payload}  
?s={payload}  
?search={payload}  
?id={payload}  
?lang={payload}  
?keyword={payload}  
?query={payload}  
?page={payload}  
?keywords={payload}  
?year={payload}  
?view={payload}  
?email={payload}  
?type={payload}  
?name={payload}  
?p={payload}  
?month={payload}  
?immagine={payload}  
?list_type={payload}  
?url={payload}  
?terms={payload}  
?categoryid={payload}  
?key={payload}  
?l={payload}  
?begindate={payload}  
?enddate={payload}

最常用的 25 個 ssrf 參數:

Top 25 Server-Side Request Forgery (SSRF) Parameters for @trbughunters  
  
?dest={target}  
?redirect={target}  
?uri={target}  
?path={target}  
?continue={target}  
?url={target}  
?window={target}  
?next={target}  
?data={target}  
?reference={target}  
?site={target}  
?html={target}  
?val={target}  
?validate={target}  
?domain={target}  
?callback={target}  
?return={target}  
?page={target}  
?feed={target}  
?host={target}  
?port={target}  
?to={target}  
?out={target}  
?view={target}  
?dir={target}

最常用的 25 個文件包含參數:

Top 25 Local File Inclusion (LFI) Parameters for @trbughunters  
  
?cat={payload}  
?dir={payload]  
?action={payload}  
?board={payload}  
?date={payload}  
?detail={payload}  
?file={payload}  
?download={payload}  
?path={payload}  
?folder={payload}  
?prefix={payload}  
?include={payload}  
?page={payload]  
?inc={payload}  
?locate={payload}  
?show={payload}  
?doc={payload}  
?site={payload}  
?type={payload}  
?view={payload}  
?content={payload}  
?document={payload}  
?layout={payload}  
?mod={payload}  
?conf={payload}

最常用的 25 個 sql 注入參數:

Top 25 SQL Injection Parameters for @trbughunters  
  
?id=  
?page=  
?dir=  
?search=  
?category=  
?file=  
?class=  
?url=  
?news=  
?item=  
?menu=  
?lang=  
?name=  
?ref=  
?title=  
?view=  
?topic=  
?thread=  
?type=  
?date=  
?form=  
?join=  
?main=  
?nav=  
?region=

最常用的 25 個命令執行的參數:

?cmd=  
?exec=  
?command=  
?execute=  
?ping=  
?query=  
?jump=  
?code=  
?reg=  
?do=  
?func=  
?arg=  
?option=  
?load=  
?process=  
?step=  
?read=  
?function=  
?req=  
?feature=  
?exe=  
?module=  
?payload=  
?run=  
?print=

最常用的 25 個開放重定向跳轉的參數:

?next=  
?url=  
?target=  
?rurl=  
?dest=  
?destination=  
?redir=  
?redirect_uri?,  
?redirect_url=  
?redirect=  
?out=  
?view=  
?to=  
?image_url=  
?go=  
?return=  
?returnTo=  
?return_to=  
?checkout_url=  
?continue=  
?return_path=

如何應用#

實戰中,可以用到這些參數,一般流程是通過收集到目標域名 /ip 的 url 的參數,然後從 url 中去過濾出對應的關鍵詞,如http://www.xx.com/index.php?id=1,那麼可以直接過濾出 id 參數,這樣的參數可能存在 sql 注入漏洞。? 後接的參數有很大的概率無過濾導致被控。

用到的程序是 gf,https://github.com/tomnomnom/gf

1、go 語言編譯 gf:

go get -u github.com/tomnomnom/gf

2、編譯完後,就開始加載 json 的配置文件,如下面是 rce 的配置文件。


{  
    "flags": "-iE",  
     "patterns": [  
   
        "daemon=",  
        "upload=",  
        "dir=",  
        "download=",  
        "log=",  
        "ip=",  
        "cli=",  
        "cmd=",  
        "exec=",  
        "command=",  
        "execute=",  
        "ping=",  
        "query=",  
        "jump=",  
        "code=",  
        "reg=",  
        "do=",  
        "func=",  
        "arg=",  
        "option=",  
        "load=",  
        "process=",  
        "step=",  
        "read=",  
        "function",  
        "req=",  
        "feature=",  
        "exe=",  
        "module=",  
        "payload=",  
        "run=",  
        "print="  
]  
}

有了 json 文件,在測試 url 時就可以過濾出來,假如有個 url 是http://xxx.com/index.php?cmd=ls,那麼我就可以通過包含 rce 參數的 json 腳本過濾出來。

% cat test.txt   
http://xxx.com/index.php?cmd=ls  
  
% cat test.txt | gf rce  
http://xxx.com/index.php?cmd=ls

3、下面就要配置讓 gf 這個程序自動識別放在~/.gf 文件下面的 json 腳本,輸入 gf 就能自動把 json 文件調用出來。如下圖,列出來的都是 json 文件:

%E5%B8%B8%E8%A7%84%E6%B5%8B%E8%AF%95%E4%B8%ADurl%E5%8F%82%E6%95%B0%E6%B5%8B%E8%AF%95%20bfbbd4b8eb864ed3aa12113d45e5a6fd/Untitled%205.png

4、配置 gf 自動加載 json 文件,按 tab 鍵自動補全。

gf從 github 下載下來之後,有三個文件,分別對應是 bash、fish、zsh。

%E5%B8%B8%E8%A7%84%E6%B5%8B%E8%AF%95%E4%B8%ADurl%E5%8F%82%E6%95%B0%E6%B5%8B%E8%AF%95%20bfbbd4b8eb864ed3aa12113d45e5a6fd/Untitled%206.png

三個不同的文件對應於不同的 shell 環境,如我這裡用到的 zsh,那麼就需要配置~/.zshrc 配置文件,將下面的內容添加到~/.zshrc 文件:

autoload -Uz compinit
compinit
source /Users/xxx/macpentest/ 信息收集 /gf/gf-completion.zsh

%E5%B8%B8%E8%A7%84%E6%B5%8B%E8%AF%95%E4%B8%ADurl%E5%8F%82%E6%95%B0%E6%B5%8B%E8%AF%95%20bfbbd4b8eb864ed3aa12113d45e5a6fd/Untitled%207.png

通過上述設置基本設置完成,如果沒有的話需要退出終端重新打開,我這裡的環境用的是 zsh,如果你用的是 linux,那麼可能是 bash 文件,那麼你只要將上面的設置放到~/.bashrc 裡面即可。

4、設置完成後,就可以把所有的 json 文件放到.gf 文件夾下,json 文件從下面的鏈接中下載,下載完後,拷貝至~/.gf 中。

mkdir .gf  
cp ~/Gf-Patterns/*.json ~/.gf  
cp ~/gf/examples/*.json ~/.gf

5、到此設置完畢,通過 gf 鍵就可以自動把加載的 json 文件顯示出來。

如何收集 url#

收集 url 的方式其實很多中,通常是以批量的方式,先把所有的域名和子域名收集完成後,開始收集 url 中的參數。

下面的應用都可以用來收集 url:

掃描方式都很簡單。

使用案例,借用 Gf-Patterns 上的案例:

cat subdomains.txt | waybackurls | sort -u >> waybackdata | gf ssrf | tee -a ssfrparams.txt
cat subdomains.txt | waybackurls | sort -u >> waybackdata | gf ssrf | tee -a ssfrparams.txt
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。