htb academy笔记-module-Using Web Proxies(二)

06-01 1546阅读

上一篇:

htb academy笔记-module-Using Web Proxies(一)

一、Automatic Modification

1. Automatic Request Modification

这里用User-Agent举例,假设服务器会检测它的值,我们需要批量将其修改

① Burp Match and Replace

在Proxy>Options>Match and Replace里点Add,然后如下设置:

htb academy笔记-module-Using Web Proxies(二)

其中:

Type:Request header是我们想在header而不是body里修改

Match: ^User-Agent.*$是正则表达式(regex),代表含有User-Agent的那一行

Replace: User-Agent: HackTheBox Agent 1.0为替换上面匹配到那行的值

Regex match: True 表示启用正则

最后点ok,后面request里的UA就会替换成我们想要的

htb academy笔记-module-Using Web Proxies(二)

2. ZAP Replacer

点replacer模块或者快捷键[CTRL+R]:

htb academy笔记-module-Using Web Proxies(二)

大部分与上述类似,但

Match String: User-Agent.这里可以选择具体的header

而且还有initiator(粗糙翻译是:起爆器)的功能,在其他窗口的tab上可以打开,功能是设置在哪应用这个replace,默认是所有

htb academy笔记-module-Using Web Proxies(二)

3. Automatic Response Modification

应用场景:如我们需要修改response但是每次refresh之后都会回到原来状态

Response操作同理

这里用上篇ip字段不能输入的页面举例:

htb academy笔记-module-Using Web Proxies(二)

然后对于以下页面:

htb academy笔记-module-Using Web Proxies(二)

就算刷新也一直可以输入

二、Repeating Requests

1. Proxy History

在HUD有个History pane或ZAP的主页面里也有这个选项:

htb academy笔记-module-Using Web Proxies(二)

注:WebSockets是关于连接的一些流量,在advanced pen test里很有用,本module暂不涉及

在该模块中Burp可以看原始(应该是有个Original Request)和修改后的request,而ZAP只能看修改后的request

2. Repeating Requests

① Burp:

[CTRL+R]:可以发送消息去repeater,

[CTRL+SHIFT+R]:可以直接打开repeater

注:可右键消息然后Change Request Method改变http method为POST/GET,这样比手写方便

② ZAP

· 主页面

选中request后右键再Open/Resend with Request Editor:

htb academy笔记-module-Using Web Proxies(二)

可以看到也有method button来修改http method

注:默认request和response在不同tabs,要像上述图片这样需要选相同的display options

· HUD

在History button定位具体的request,点击然后会显示 Request Editor:

htb academy笔记-module-Using Web Proxies(二)

Replay in Console可让response在该窗口,或Replay in Browser让response在浏览器显示

三、Encoding/Decoding

1. URL Encoding

① 一些若未encoding引起不好后果的关键字符:

Spaces:会标明是request数据的结束

&:会被interpreted为parameter delimiter(参数定义符)

#:会被interpreted为fragment identifier(片段标识符)

② Burp选中text然后右键Convert Selection>URL>URL encode key characters,或者快捷键 [CTRL+U],同时可以在type的时候启动这个选项然后type的时候会encode。

③ ZAP会自动在发送前后台url-encode所有数据

④ 还有其他种类的url-encoding如Full URL-Encoding或Unicode URL encoding

2. Decoding

以下是其他编码方式:

• HTML

• Unicode

• Base64

• ASCII hex

① burp完整的encoder在Decoder tab:

htb academy笔记-module-Using Web Proxies(二)

较新版本的Burp里有Inspector 工具可以编码解码,在Proxy 和Repeater里面会有:

htb academy笔记-module-Using Web Proxies(二)

② ZAP里通过快捷键 [CTRL+E]来使用Encoder/Decoder/Hash工具,

在ZAP使用的Encoder/Decoder/Hash可以自动解码:

htb academy笔记-module-Using Web Proxies(二)

注:在 “Add New Tab” button可以在Encoder/Decoder/Hash里添加定制tabs,以此加入不同类型的encoder/decoder

3. Encoding

上述解码后的值是

{“username”:“guest”, “is_admin”:false}

若这是cookie值,那么我们可以把guest改成admin,把false改成true,然后用相同的方式编码:

htb academy笔记-module-Using Web Proxies(二)

这样可能会以admin的身份通过认证

注:Burp Decoder的output可以直接被另一个encoder编码/解码,在底部的output pane选一个新的encoder method即可。而ZAP需要手动copy

四、Proxying Tools

很多时候需要用Web proxies拦截不同工具的traffic并观察利用它们,小到命令行大到复杂的client app。下面介绍如何配置然后开始

注:代理工具通常会使得traffic正常运行变慢,所以只在需要的时候使用

1. Proxychains

Linux里的proxychain可以toute所有命令行工具的traffic到指定的proxy,它给所有命令行工具加一个proxy。

先编辑 /etc/proxychains.conf,注释掉第一行,然后添加下面两行:

htb academy笔记-module-Using Web Proxies(二)

同时也可以去掉quiet_mode的注释,启动Quiet Mode以减少noise。

用curl举例,我们在正常的命令前加上proxychains即可:

htb academy笔记-module-Using Web Proxies(二)

唯一的区别是会多一行ProxyChains-3.1xxx,然后其traffic就到proxy里了:

htb academy笔记-module-Using Web Proxies(二)

2. Nmap

可以在manual里搜:

htb academy笔记-module-Using Web Proxies(二)

其中管道符|把前面的输出当中后面的输入,grep是搜索文本的工具,-i表示insensitive case,然后prox是要搜索的文本

举例:

htb academy笔记-module-Using Web Proxies(二)

然后就可以在proxy里看到traffic:

htb academy笔记-module-Using Web Proxies(二)

注:nmap手册里有说过它自带的proxy功能有欠缺,所以最好还是用proxychains

3. Metasploit

这里以robots_txt scanner举例:

htb academy笔记-module-Using Web Proxies(二)

然后可以在proxy里看到:

htb academy笔记-module-Using Web Proxies(二)

其他scanners, exploits, and other features也可以这样

五、Burp Intruder

Burp和ZAP最重要的两个功能是web fuzzers和web scanners,它们可以做fuzz, enumeration和brute-force,也可以用命令行工具代替如ffuf, dirbuster, gobuster, wfuzz等。

Burp的fuzzer叫Burp Inturder,可以fuzz pages, directories, sub-domains, pararmeters, parameters values等,且比大部分命令行工具好用。但是社区版只能单线程非常慢,不像命令行的速度可以10k request per second,专业版就没有限制。

以下讲Burp Intruder的web fuzzing和enumeration

1. Target

可以右键选择Send to Intruder或用快捷键[CTRL+I],然后通过点击Intruder 或者快捷键[CTRL+SHIFT+I]来到该模块:

htb academy笔记-module-Using Web Proxies(二)

然后在target看到details:

htb academy笔记-module-Using Web Proxies(二)

2. Positions

htb academy笔记-module-Using Web Proxies(二)

Attack type里第一个Sniper是单点,即像图片里这样只设置一个position。查看更多type可点击窗口上方的?

注:request最下面要有多于两行的空格,不然会报错

3. Payloads

有四个地方需要设置:Payload Sets, Payload Options, Payload Processing, Payload Encoding

① Payload Sets

htb academy笔记-module-Using Web Proxies(二)

这里我们使用Sniper所以只需要一个Payload Sets,若attack type是Cluster Bomb则需要多个Payload Sets对应每个position。

然后是 Payload Type,这里介绍常用的:

· Simple List:基础,便利每一行

· Runtime file:和Simple List的区别是逐行加载,避免一次加载过多占用内存太大;wordlist过大时可以用这个

· Character Substitutio:可以指定characters 和对应replacements的list,然后Burp尝试所有可能的排列

其他的type可点击?查看

② Payload Options

若是Simple List,则需要创建或者导入wordlist:

htb academy笔记-module-Using Web Proxies(二)

这时候如果继续导入文件或者手动输入,新加的数据会加在这个list后面。

Burp Pro的 Add from list里内置有list

③ Payload Processing

可以修改fuzz的规则,如在payload后面加extension、筛选wordlist等。

htb academy笔记-module-Using Web Proxies(二)

上述wordlist中遇到.开头就会跳过

然后启用:

htb academy笔记-module-Using Web Proxies(二)

④ Payload Encoding

一般是启用的:

htb academy笔记-module-Using Web Proxies(二)

4. Options

① 可以customize attack,如attack失败后retry的次数、retry前pause的次数等。

② Grep – Match:可以flag response,比如我们需要状态码是200的response:

htb academy笔记-module-Using Web Proxies(二)

上图也禁用了Exclude HTTP Headers,这样可以在 http headers里查看信息

③ Grep – Extract:response比较长时选取特定的字段来显示

注:Resource Pool可以指定Intruder使用多少network resources,对大型attacks很有用,在我们的例子中默认值就可以了。其他信息同样可以点击旁边的?查看

5. Attack

在社区版attack比较慢,结果中可以点击‘200 OK’这列来筛选

htb academy笔记-module-Using Web Proxies(二)

从结果中看到,payload是admin时为200的response code,然后我们可以手动登录确认。

类似的,可以用此方法做任何web fuzzing和brute-forcing,如针对password的brute-forcing、对特定php parameters的fuzzing等。还可以用Intruder做对使用 Active Directory (AD) authentication 的app的password spraying,这些authentication 包括 Outlook Web Access (OWA), SSL VPN portals, Remote Desktop Services (RDS), Citrix, custom web applications等。

但是Burp社区版没那么好用,下一section用ZAP举例

module大纲:

htb academy笔记-module-Using Web Proxies(二)

(有问题随时在评论区或私信留言,两天内回复)

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

相关阅读

目录[+]

取消
微信二维码
微信二维码
支付宝二维码