我们用于安全测试的第三方工具是在Tomcat 8 上提供慢速HTTP POST漏洞。我们在应用程序中有一个简单的Spring Controller 和JSP。
现有的 Tomcat 连接器配置如下:
<Connector port="8643" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" compression="on"
clientAuth="false" sslProtocol="TLS" maxPostSize="20480"
maxSwallowSize="20480" maxHeaderCount="25" maxParameterCount="100"/>
Run Code Online (Sandbox Code Playgroud)
请注意,我们在 tomcat 前面没有 Apache 或 Nginx。请建议我们可以直接在 Tomcat 上使用的配置。
我正在寻找一个shell命令(最好是一个单行程序),它将创建一个包含压缩和存储内容的zip文件(通过存储,我的意思是未压缩,如官方文档中所述,链接1).
该.ZIP文件格式规范给出了混合不同的压缩类型,包括刚刚存储的文件的自由:
4.1.8放置在ZIP文件中的每个数据文件都可以进行压缩,存储,加密或数字签名,而不管归档同一个ZIP文件中的其他数据文件的方式.
如果有必要,可通过申请/ zip下的IANA注册中心注册的媒体类型确认此技术可能性:
A.本地文件头:
本地文件头签名4个字节(0x04034b50)..压缩方法2个字节
直到现在我尝试了几个zip参数(-f -u -U,..)失败了
理想情况下,命令会压缩文本文件,并存储二进制内容,区别在于它们的文件扩展名(例如:html,css,js将被视为文本,jpg,ico,jar将被视为二进制).
我有ftp端口: ftp://173.201.0.1/
我试图通过以下方式连接它:
String Ftp_Path = "ftp://173.201.0.1/";
public List<String> GetFileList()
{
String ftpServerIP = Ftp_Path;
String ftpUserID = Ftp_UserName;
String ftpPassword = Ftp_Password;
FTPFile[] downloadFiles = null;
StringBuilder result = new StringBuilder();
FTPClient ftp = new FTPClient();
List<String> xlsFiles = null;
try {
ftp.connect(Ftp_Path);
ftp.login(ftpUserID, ftpPassword);
downloadFiles=ftp.listFiles();
xlsFiles = new ArrayList<String>();
for(FTPFile i : downloadFiles) {
if(i.toString().endsWith(".xls")) {
xlsFiles.add(i.toString());
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return xlsFiles;
}
Run Code Online (Sandbox Code Playgroud)
但我在网上得到错误:
ftp.connect(Ftp_Path);
Run Code Online (Sandbox Code Playgroud)
以下是错误.
java.net.UnknownHostException: …Run Code Online (Sandbox Code Playgroud) 出于测试目的,我想尝试使用下面的 java 类。但我需要将它移植到groovy。
java类:
public class HttpsTrustManager implements X509TrustManager {
private static TrustManager[] trustManagers;
private static final X509Certificate[] _AcceptedIssuers = new X509Certificate[]{};
@Override
public void checkClientTrusted(
X509Certificate[] x509Certificates, String s)
throws java.security.cert.CertificateException {
}
@Override
public void checkServerTrusted(
X509Certificate[] x509Certificates, String s)
throws java.security.cert.CertificateException {
}
public boolean isClientTrusted(X509Certificate[] chain) {
return true;
}
public boolean isServerTrusted(X509Certificate[] chain) {
return true;
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return _AcceptedIssuers;
}
public static void allowAllSSL() {
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public …Run Code Online (Sandbox Code Playgroud) 我了解基本和摘要身份验证。但是我已经搜索了很多,并且在 NTLM、身份验证和协商方面遇到了困难。
我认为,如果我错了,请纠正我,NTLM 和身份验证是同一协议的两个术语。
协商首先尝试 NTLM,然后回退到消化,然后回退到基本连接。
那是对的吗?如果是这样,哪里有一个很好的例子,说明如何在 C# 中连接仅用于 NTLM 和协商。
我有两个用例。首先是我需要拉下一个文件。所以发出一个请求,得到一个 XML 文件作为响应,读下来,完成。
第二个是查询 OData 成百上千个 Web 请求,每个请求都将提供 JSON(或 XML)作为响应。