一下如何在Burp里修改一下发包格式(changeencoding)

前言

我们在进行渗透测试的时候,经常会遇到很多网站,有的网站只是基于一个登录界面进行处理。

尤其是在内网环境的渗透测试中,客户经常丢给你一个没有测试账号的登陆网站页面,让你自己进行渗透测试。如果你一开始没有经验,你可能无法开始。

今天,我将简单地谈谈如何只用一个着陆页进行渗透测试。

0x00

在条件允许的情况下,我们可以在渗透测试开始前拿出我们的扫描仪进行扫描。目前最常用的是AWVS和Nessus

此外,我们还可以使用其他一些自动化测试工具,例如 Nikto 扫描仪、Appscan、W3af,以及最近长亭科技的 Xray 扫描仪。

尤其是X光扫描仪,据说很多小伙伴都用它挖了很多漏洞。

以下是这些工具的一些使用方法,不再赘述

0x01 SQL注入

密码绕过

如果能直接绕过登录,直接访问系统内部资源,自然是最好不过了。

通用密码是最好的密码之一。虽然它不太可能存在,但它确实偶尔存在。稍微尝试一下也不会浪费太多时间。

例如 ‘ 或 1=1 –

“或 “a”=”a

网上有很多万能密码,随便搜一下。

比如这种方式,可以直接访问后台

登录端口SQL注入

一些系统在登录端口有 SQL 注入。目前我遇到的Oracle和MySQL登录端口注入比较多。我们可以先在登录时抓包,然后根据抓包信息构造payload。

值得一提的是,有时我们需要在 Burp 中修改数据包格式(更改正文编码)才能成功注入。

这是一个例子:

正常登录错误

正常登录错误

添加报价

修改payload,使返回的数据包不同,判断是否存在SQL注入。

还有,这种SQL注入并不少见爆破用户名密码常用字典,很多网站都可以尝试,很有可能存在这个漏洞

0x02 明文传输/用户名可枚举/弱密码爆破

明文传输

这可能是我们的渗透测试中最常见的一种漏洞。其实也不能算是一种弱点,只能说是一种不足。明文传输在网站上随处可见,银行网站除外。,很有可能每个密码都经过特殊加密然后传输。

用户名是可枚举的

该漏洞的存在主要是因为输入的账号密码的判断所回显的数据不同。我们可以使用它来枚举用户名,然后使用枚举的账户名进行弱密码枚举。爆破。

作为一种防御措施,您只需要将用户名和密码错误的回显更改为相同的,例如用户名或密码错误。

爆破弱密码

弱密码可以说是渗透测试中最常见、危害最大的漏洞,因为它没有技术性或创新性,但却充满了“破坏性”,尤其是在内网环境中。密码无处不在。最常用的网页爆破工具是 Burp。我们通常使用 Nmap 扫描来扫描其他端口,例如 3389、SSH 等。

弱密码爆破工具推荐,详情见下文,不再赘述:

九头蛇:

超弱密码:链接:提取码:blj3

御剑 RDP 爆炸:

布鲁特:

此外,我们还可以根据网站域名和收集到的一些信息进行自定义爆破。例如,在一次内网渗透测试中,我发现管理员的名字缩写为crj,然后我生成了一堆密码,最后成功登录的账号密码是crj112233。

字典:

词典也有很多,大家可以在网上搜集更多。有时,您与 Getshell 只差一个弱密码。

另外,有时我们也可能会遇到系统有默认密码,这里有一些在网上曝光的默认账号密码

0x03 扫描

目录扫描

在我看来,这是最好的目录扫描工具:,DirSearch

它已经成为我日常渗透工作中不可分割的工具之一,我们可以多层次扫描,枚举子目录的目录,经常能找到突破口。

另外还有御剑:也比较常用

JS扫描

JS 文件经常用于渗透测试。有时候我们可以在 JS 文件中找到我们平时看不到的东西,比如重置密码的 JS 和发送短信的 JS,所有这些都可能是未经授权的。参观了。

对于 JS 扫描,推荐使用 JSFind:

同时也会提取页面中的URL,一个简单的例子

nmap扫描

Nmap的强大功能可以让我们第一时间获取网站的端口信息,而这些端口信息往往可以给我们很大的帮助,比如开放3389端口,或者检测一些敏感端口

关于 Nmap 的使用无需我多说。它是每个安全工程师都必须精通的工具。以下是我的一些ports的总结,希望能给大家一点帮助。

扫描目录和JS时,注意多次爆破,遍历目录和JS访问多级域名。

在一个学校网站,我用Nmap批量检测网段,得到一个登录网站,并遍历网站中的目录,得到一个测试页面,最后在这个页面的JS文件中得到一个接口。,通过该界面重置主登录页面的密码。

0x04 框架漏洞

图片[1]-一下如何在Burp里修改一下发包格式(changeencoding)-老王博客

查找 CMS 或 Web 框架以及某些供应商的服务中的漏洞

比如Apache中间件组件Shiro反序列化漏洞,这里简单介绍一下:

需要一个 ysoserial.jar

和默认键

POC

指示

1: java -jar ysoserial.jar URLDNS “在你的 ceye.io 或 burp”>payload.dat 的协作者客户端函数中

2:运行python脚本生成cookies

3:将cookie复制到burp并发送数据包。这时候会记录DNSlog。我们可以再次构造命令执行,这里不再深入。

致远A8-getshell:

思考PHP:

Struts2:

网络逻辑:

以及主要的Java反序列化漏洞等等,这里的漏洞层出不穷。

0x05 逻辑漏洞

寻找逻辑漏洞,例如忘记密码、任意用户注册

任意重设密码

例如

这时客户端会发送一个验证码包。我们在随意输入验证码,发送包裹,退回包裹。

返回包错误的回显是 {“status”:0}

将退货包替换为 {“status”:1}

重置您的密码

乌云的例子:

任何用户注册

爆破注册页面的验证码,可以注册任意用户

同样,如果这里的验证码是四位数字,有时可能会爆炸,任何用户都可以重置密码。

短信轰炸

短信轰炸很常见。一般发送验证码后爆破用户名密码常用字典,就可以抓包,不断重复。如果你做了一些保护,你可以通过添加空格、特殊符号或 +86 来绕过它。

无保护的短信爆破很常见

登录不完整

这个漏洞我发现过一次,就是在登录页面随意输入任意账号和密码,然后抓包,修改返回包,欺骗前端,获取一定的权限,它的功能并不完善,但是你仍然可以看到很多敏感数据。

逻辑漏洞需要根据不同的网站进行测试。逻辑漏洞的方式多种多样,经常会遇到很多奇怪的手势。例如,如果 cookie 的某个字段是 Guest,则可以通过将其修改为 admin 来更改用户身份。它也需要在日常工作中使用。越来越多的总结。

0x06 禁用 JS

禁用JS插件,查看页面源码 12

禁用JS查看源码,有时会有意想不到的惊喜。

例如,缺少一些重定向和一些权限。当我们没有被授权进入后台时,我们会被重定向回登录页面。如果我们此时禁用 JS,我们可以控制某些权限。

不用说,看源代码,一些不太聪明的程序员可能会在源代码中透露一些不可告人的秘密,比如测试账户,我们可能会发现一些网站背景结构和JS接口。

0x07 网址重定向

常用URL跳转参数:

0x08 未经授权的访问

各种未经授权的访问,无需登录即可进入后台

非授权访问这里有比较强的总结,需要我们注意端口。

0x09 验证码问题

验证码可以修改收件人

您可以将A账号密码验证码的接收者更改为B账号,这样A账号的验证码就会发送到B账号的手机,B账号可以重置A账号的密码

比如A账号moblephone=13333888888,这个是可控的,我们修改为moblephone=18888888888,然后就可以收到A账号的重置验证码了

登录验证码可以绕过

可能会有通用的验证码0000或9999,但这种情况比较少见。更多情况下,返回包被修改,可能绕过逻辑判断。

验证码可爆

验证码失效时间过长,纯数字或字符太短,可爆。

验证码回显前端

对于一些网站,验证码会回显到前端,你只需要抓包获取验证码

验证码不刷新

验证码不会自动刷新,这样我们可以多次使用一个验证码。我们只需要输入一次验证码就可以开始暴力破解。

识别码

这里使用PKAV的验证码进行自动识别

链接:提取码:szo2

0x10 摘要

简单来说,当我们遇到一个登陆站点时,我们需要做

1、条件允许时开启漏洞扫描

2、端口、目录、JS文件等敏感信息检测

3、爆破弱密码

4、抓包看有没有逻辑漏洞,或者试试SQL注入

5、查找框架漏洞

PS:如果遇到一些大型网站的主站登录,比如银行,建议放弃并寻找其他业务,比如招聘网站登录等。

免责声明:本公众号分享的内容仅用于网络安全爱好者的技术讨论,禁止以非法方式使用。所有渗透都需要授权!否则需自行承担,公众号及原作者不承担相应后果。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论