Advertisement
Guest User

Untitled

a guest
Oct 18th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.34 KB | None | 0 0
  1. 分析
  2. 配置分析环境:整体系统架构框架
  3. 业务流程:涉及模块内容,业务处理
  4. 分析程序架构:MVC 第三方架构 插件
  5. 工具自动化分析:通过工具中的正则或者漏洞匹配
  6. 人工审计:结合工具 验证漏洞 排除误报
  7. 对每个方法跟踪,从jsp到后端 dao层 数据库 是否过滤
  8. 整理审计报告 结合修复建议进行整改
  9.  
  10.  
  11.  
  12.  
  13. war包结构
  14. 中间件服务器对war包进行解析 拿到war包需要反编译进行解析
  15. WebContent (站点根目录)
  16. |---META-INF (META-INF文件夹)1
  17. | |---MANIFEST.MF (MANIFEST.MF配置清单文件)
  18. |---WEB-INF (WEB-INF文件夹)
  19. | |---web.xml (站点配置web.xml ) 2【strut2 过滤器 第三方架构】
  20. | |---lib (第三方库文件夹)
  21. | | |---*.jar (程序需要的jar包) 【自己封装和第三方jar】
  22. | |---classes (class文件目录)3【主要逻辑 业务判断 转换为java文件】
  23. | |---...*.class (class文件)【主要】
  24. |---<userdir> (自定义的目录) 【前端】
  25. | |---*.jsp,*.js,*.css (自定义的目录资源文件)
  26. |---<userfiles> (自定义的目录资源文件)
  27.  
  28. JAVA内置对象
  29. 无需声明直接使用【着重关注】
  30. request |获取后直接拿来使用
  31. response |响应对象
  32. pageContext |jsp中直接写Java文件 使用前是否有判断 校验 <> %
  33. session |对话
  34. application
  35. out |输出
  36. config
  37. page
  38. exception
  39.  
  40. JAVA中危险函数
  41. getParameter() |从request中直接获取这个函数,就要关注参数后续使用的流程,在没有经过判断过滤的情况直接往数据库里插数据,或者直接查询数据库,就存在风险
  42. getcookies() |直接获取会话,如果只是做对比 校验,那么可能不存在风险;如果直接保存到数据库,没有进行判断,那么可能存在风险
  43. getQueryString() |sql语句执行的时候 get的字符串
  44. getheaders() |数据包头
  45. Runtime.exec() |直接执行系统命令,没有进行判断 容易RCE
  46. logger.info |日志输出,容易产生敏感信息输出,信息泄露,包括 try catch 异常输出
  47.  
  48. 可能存在高危风险的方法:
  49. password |明文密码 泄露
  50. upload 文件上传
  51. download 文件下载
  52.  
  53. Web架构
  54. 前端子系统
  55. 基础技术:HTML Js CSS 每个标签代表的意思
  56. 开发架构:jQuery
  57.  
  58. 后台子系统
  59. 基础技术:JavaServlet java基础语法
  60. 开发框架:Struts2 ,Spring ,Hibernate(model层)
  61. 应用服务器:Tomcat,nigix, jboss
  62.  
  63. MVC架构
  64. controller:控制端,后台会将数据传给控制器,控制器传给model
  65. model:参数要可持续性的操作(oracle:持久化)
  66. View:返回给用户 HTML jsp响应给用户
  67.  
  68. view层一般是跟用户交互的,用户再view层操作会发出http请求,http请求携带数据到controller层,controller层调用model进行业务处理,并把数据或处理结果返回给view,返回的信息就是http的响应,view拿到返回的数据是也没页面渲染
  69.  
  70.  
  71. 关于如何高效率地发现尽可能多的严重漏洞,主要从三方面入手:
  72. 1、高效的引擎;
  73. 2、高效的规则;
  74. 3、高效的流程(比如如何切入公司的上线流程,代码库和研发人员是否直接可以对应。如不能,发现了漏洞,联系修复的流程就会效率很低),在业务量大的情况下,根据以往经验,流程往往比技术更重要。扫描代码的工具常见的基于规则和静态语法树。
  75.  
  76. WEB容器的加载顺序是:ServletContext -> context-param -> listener -> filter -> servlet。并且这些元素可以配置在文件中的任意位置。
  77. 加载过程顺序如下:
  78. 启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取listener>和<context-param>两个结点。
  79. 紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
  80. 容器将<context-param>转换为键值对,并交给servletContext。
  81. 容器创建<listener>中的类实例,创建监听器。
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement