热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于后端:XJCO3911-安全计算

XJCO3911SecureComputingCoursework2Thisexerciseconcernswebapplicationvulnerabilitiesandhowtheycanbefixed.Itisworth15%ofyourovera

XJCO3911 Secure Computing
Coursework 2
This exercise concerns web application vulnerabilities and how they can be fixed. It is worth 15% of your
overall grade.
The vulnerable application is Java-based. To run it, you will need JDK 8 or newer installed on your PC. It
should work on Linux, Mac and Windows.
The Scenario
You are provided with the source code of a web application in patients.zip. This is a crude attempt by
an inexperienced developer to implement part of a patient records system. The idea is that GPs in a surgery
can log in to the application and search for details of patients that they are currently treating.
The application uses Jetty as a built-in web server. Request processing is done by a Servlet. Data storage
is provided by an SQLite 3 database, and queries of the database are done using JDBC. HTML pages are
generated using the Freemarker template engine.
Tasks
Analysis of Security Flaws

  1. Examine the database used by the application. Amongst other things, this will give you the login
    credentials and patient details that you need to test the application.
    You can do this on the command line using the sqlite3 tool: the .schema command will tell you
    the structure of the database and you can issue SQL queries at the command prompt to examine its
    contents. If you prefer a tool with a GUI, there are many available—e.g., DB Browser.
  2. Run the application from the command line using
    ./gradlew run
    (On Windows, omit the leading ./)
  3. Visit http://localhost:8080 in a web browser to interact with the application. Use the information
    obtained in Step 1 to explore different paths through the application.
  4. Experiment with the application to identify a security issue that can be trigged via the web interface.
    Explore the issue as fully as possible. Explain what the issue is and describe the steps you took to
    identify it.
  5. Identify and discuss one other security issue that cannot be seen via interactions with the web interface
    but is evident by studying the code of the application.
    The analysis is worth 16 marks.
    Implementation of Security Fixes
  6. Choose one of the security issues identified previously. Modify the application (and, if necessary, the
    database) to fix these issues.
  7. Test the application to make sure that it still works and that it is no longer vulnerable.
  8. Describe briefly the changes that you have made to the application. Explain in detail why these
    changes have fixed the issue.
    Your fix and the write-up are together worth 8 marks.
    1
    Deliverables
    You need to submit your write-up and the modified application.
    Your write-up should be in the form of a PDF file, containing no more than two A4 pages (excluding any
    cover sheet). This file MUST be named report.pdf and it MUST be put in the same directory as the
    build.gradle file.
    When you have put this PDF file in the correct location, enter the following command:
    ./gradlew submission
    This will create a file named cwk2.zip, containing everything that needs to be submitted.
    Submission
    Use Minisign to sign the file cwk2.zip, following the same procedure as for Coursework 1.
    Submit the files cwk2.zip and cwk2.zip.minisig, via the link provided for this purpose in Minerva. The
    deadline for submission is 8 AM on 19 November.

推荐阅读
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • 近期,某用户在重启RAC一个节点的数据库实例时,发现启动速度非常慢。同时业务部门反馈连接RAC存活节点的业务也受影响。通过对日志的分析, ... [详细]
author-avatar
大姑氵娘祖茉茉_749
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有