常见参数#
发现一个这样的项目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 文件:
4、配置 gf 自动加载 json 文件,按 tab 键自动补全。
把gf从 github 下载下来之后,有三个文件,分别对应是 bash、fish、zsh。
三个不同的文件对应于不同的 shell 环境,如我这里用到的 zsh,那么就需要配置~/.zshrc 配置文件,将下面的内容添加到~/.zshrc 文件:
autoload -Uz compinit
compinit
source /Users/xxx/macpentest/ 信息收集 /gf/gf-completion.zsh
通过上述设置基本设置完成,如果没有的话需要退出终端重新打开,我这里的环境用的是 zsh,如果你用的是 linux,那么可能是 bash 文件,那么你只要将上面的设置放到~/.bashrc 里面即可。
4、设置完成后,就可以把所有的 json 文件放到.gf 文件夹下,json 文件从下面的链接中下载,下载完后,拷贝至~/.gf 中。
-
GF Paterns For (ssrf,RCE,Lfi,sqli,ssti,idor,url redirection,debug_logic, interesting Subs) parameters grep
-
A wrapper around grep, to help you grep for things
-
For basic researches, top 25 vulnerability parameters that can be used in automation tools or manual recon. 🛡️⚔️🧙
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