如果您不熟悉Burp并遇到问题,请首先阅读技术支持中心的文章,有关Burp Suite入门和安装和配置Burp的信息。 否则,下面的问题和解决方案可能会对您有所帮助。
1. Burp不运行。
确保您安装了合适的Java版本。 然后从命令行启动Burp。 查看出现在命令行上的任何错误消息或其他输出,这些错误消息或其他输出应指示出问题的原因。
2. 我收到一条错误消息,提示NoClassDefFoundError。
从命令行运行Burp时,请确保已包含-jar参数,后跟Burp JAR文件的位置。 如果仍然有问题,请检查命令是否启动了正确的Java版本。 运行命令java -version并确认正在执行的版本是1.6或更高版本。 如果安装了Java的更高版本,但仍在执行旧版本,则将“ java”替换为系统上正确的Java可执行文件的绝对路径。 如果仍然有问题,则您的Java安装可能已损坏,因此请重新安装它。
如果在尝试使用Burp Extender插件启动Burp时收到此错误消息,请检查burp包中是否声明了BurpExtender类,该类是否位于扩展程序JAR文件中名为burp的文件夹中。
3. 我已经解压缩了Burp JAR文件。 接下来是什么?
您无需解压缩或解压Burp JAR文件。 这可能是因为您的计算机正在将.JAR文件扩展名与某些取消归档的软件相关联。 您可以更改此关联以与Java关联,或者更好的是,您可以从命令行启动Burp。
4. 我的浏览器无法发出任何请求。
如果您的浏览器一直在等待并且没有显示任何实际内容,请尝试以下步骤。 在每个步骤之后,请检查您是否仍然有问题,如果一切仍然没有进行,请仅继续执行下一步。
在Burp中,转到“代理”选项卡和“拦截”子选项卡。 如果显示正在拦截的HTTP请求,则关闭拦截(单击“拦截已打开”按钮以切换拦截状态)。 您的浏览器现在应该可以正常工作了。 有关使用Burp Proxy的基础知识,请参见Burp Proxy入门,以获取更多帮助。
尝试使用浏览器访问另一个域(最好是知名的公共域)。 如果这可行,则问题可能与您最初访问的特定网站有关。
转到“代理”选项卡和“选项”子选项卡。 在“代理监听器”部分中,该表应至少显示一个条目,其中选中了“正在运行”复选框。 如果未选中,请尝试进行检查。 如果无法选中该框,并且“警报”选项卡显示一条消息“无法启动代理服务”,则Burp无法打开指定的端口和接口。 这通常是因为该端口正在被另一个进程使用。 选择表中的项目,单击“编辑”按钮,然后将端口号更改为其他端口号。 单击“确定”,然后查看是否可以启用该监听器。 您可能需要尝试几个不同的端口,或者查询计算机的配置以找到可用的端口。 然后继续进行下一步,以新的端口号更新浏览器的代理配置。
检查您的浏览器的代理设置是否正确配置,并且使用与运行中的代理侦听器中配置的IP地址和端口号相同(在Burp的默认设置中,这是IP地址127.0.0.1和端口8080,尽管在您当前的配置中可能有所不同)。 有关更多详细信息,请参阅配置浏览器。
在Burp中,转到“选项”选项卡和“连接”子选项卡。 在“上游代理服务器”部分中,确认是否配置了任何上游代理,如果是,则确认这些设置对于您的网络设置是否正确。
从浏览器发出更多请求(例如,按几次刷新)。 在“警告”选项卡中查看是否正在生成任何新条目。 如果是这样,则这些条目可能表明问题的原因。
转到Burp菜单,然后为所有选项选择“恢复默认设置”。 然后通过从Burp菜单中选择“退出”来正常关闭打Bur。 再次启动Burp。 关闭所有浏览器实例,然后打开一个新的浏览器窗口。
5. Burp没有拦截任何东西。
在Burp中,转到“代理”选项卡和“历史记录”子选项卡。 从浏览器发出更多请求(例如,按几次刷新),然后检查“代理历史记录”中是否有任何新条目。 如果是这样,那么Burp正在处理您的浏览器流量,但未显示任何要拦截的消息。转到代理拦截选项卡,启用主拦截(点击“拦截已关闭”按钮切换拦截状态)。然后转到代理选项选项卡,在“拦截客户端请求”和“拦截服务器响应”部分点击“恢复默认值”按钮。从浏览器发出更多请求,这些请求现在应该出现在代理拦截项卡中。
如果您的浏览器正在正确加载页面,但“代理”历史记录中没有任何项目,则需要检查浏览器的代理设置。 您的浏览器应配置为对HTTP和HTTPS都使用Burp。 任何“自动”代理选项都应被禁用,并且代理设置的任何“例外”都应被删除。 如果不确定,请仔细按照配置浏览器中的步骤操作,以确保正确设置了浏览器。
6. Burp没有拦截HTTPS请求。
如果您的浏览器通过Burp发送HTTP请求,而不是通过HTTPS请求发送,则您的浏览器可能配置为仅代理HTTP。 签入浏览器代理设置,确认浏览器已配置为对两种协议都使用Burp。 如果不确定,请仔细按照配置浏览器中的步骤操作,以确保正确设置了浏览器。
7. HTTPS网站无法正常运行。
如果您的浏览器能够通过Burp加载HTTPS网站,但这些网站无法正常运行(例如,用户界面不完整或无法正常运行),则该应用程序可能正在尝试通过HTTPS从另一个域加载脚本代码或其他资源, 并且通过Burp加载这些资源时,浏览器正在生成安全警报。 您需要在浏览器中安装Burp的CA证书,以确保使用HTTPS的应用程序正常运行。
8. 使用Burp时,身份验证失败。
如果要测试的应用程序使用平台身份验证(通常在浏览器中显示为弹出登录对话框),并且在将浏览器配置为使用Burp时收到身份验证失败消息,则需要配置Burp来处理平台身份验证,而不是浏览器。 转到“选项”选项卡,“连接”子选项卡以及“平台身份验证”部分。 为应用程序使用的每个主机名添加一个新条目,配置身份验证类型和凭据。 如果不确定身份验证类型,请先尝试NTLMv2,然后再尝试NTLMv1,然后再尝试其他类型。 您可能需要关闭所有浏览器窗口并打开一个新的浏览器窗口,以防止任何浏览器缓存干扰身份验证过程。
9. Burp内存不足。
Burp受计算机可用于Java进程的内存量的限制。 您可以通过使用-Xmx参数从命令行启动Burp来请求Burp的额外内存。 有关更多详细信息,请参见启动Burp。
10. 如何进行扫描?
Burp旨在以用户驱动的方式使用,以支持使用动手技术测试应用程序的过程。 试图使扫描过程完全自动化的常规网络扫描仪具有固有的局限性,这意味着它们提供的覆盖范围不完整。 如果要将Burp用作常规扫描仪,并完全自动化扫描过程,请参阅将Burp用作点击式扫描仪。
11. 我无法将流量从移动设备路由到Burp。
此问题可能是由于您的计算机的防火墙规则引起的。 确保将它们配置为允许来自您的移动设备的连接。
另外,请参阅技术支持中心有关配置使用Burp的移动设备的文章。
12. 在Windows 10上,我遇到了4k屏幕和普通屏幕之间缩放的问题,尤其尝试在两者之间拖动时。
尝试使用以下设置启动Burp Suite:start javaw -Dsun.java2d.d3d = false -Dsun.java2d.noddraw = true -jar burpsuite_pro_v1.7.23.jar。