0x00 前言 艰难徘徊这么久,终于迈出第一步,畏畏缩缩是阻碍大多数人前进的绊脚石,共勉. 系统是租车系统,这个系统是Adog师傅之前发在freebuf(http://www.freebuf.com/articles/web/162910.html)的,他审的时候没有发现sql注入,但在评论中有个师傅说有前台sql注入. 那么我就来找找前台的sql注入吧,虽说是java但其实代码审计的点都是通用的,万变不离其宗. 扯远了,这篇文章,算是踏入java代码审计领域的开篇. 0x01 基础环境搭建 源…
运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以.IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: Tomcat 7.x,8.x,9.x版本均可,理论上Tomcat版本不是太老都可以.硬件环境: windows 7/8/10 1G内存以上主要功能说明: 管理员角色包含以下功能:管理员登录,员工管理,车辆管理,公告管理,图片管理,统计管理等功能.用户角色包含以下功能:用户首页,用户登录,查看车辆,查看我的预定,预定租车,查看…
之前的答答租车系统虽然可以实现项目的要求,但是没有用Java面向对象,今天用面向对象的三大特性封装.继承和多态来改进原来的代码.题目和之前的代码参考上篇博客,这里不再述说. 改进后的代码: Vehicle.java /*车的父类,包含: 车名和租金两个私有属性name和rent: 访问属性的对应方法setter和getter: 带参数的构造方法: 打印属性值的方法Display(); */ public class Vehicle { private String name; //车名 priv…
今天试着写了一个新的程序,叫做"答答租车系统",是慕课网上的一个综合练习,戳我看原题. 项目要求截图如下: 我的代码(简单粗暴版): Vehicle.java public class Vehicle { String name; //车名 int rent; //租金 int seatingCapacity; //载人量 int cargoCapacity; //载货量 //构造方法,初始化变量 public Vehicle(String newName, int newRent,…
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车型号.总载人量及其车型: 二:项目分析: 数据模型分析: 业务模型分析: 显示和流程分析: 三:数据模型分析: 1.通过对现实世界的事与物主要特征的分析.抽象,为信息系统的实施提供数据存取的数据结构以及相应的约束: 2.数据结构组成:操作(方法).属性: 如现实世界中的汽车,最终会转化为一段代码:…
答答租车系统(面向对象综合练习) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 各位面向对象的小伙伴们,在学习了面向对象的核心概念--类的封装.继承.多态之后,答答租车系统开始营运了. 请你充分利用面向对象思想,为公司解决智能租车问题,根据客户选定的车型和租车天数,来计算租车费用,最大载客人数,最大载载重量. 公司现有三种车型(客车.皮卡车.货车),每种车都有名称和租金的属性:其中:客车只能载人,货车只能载货,皮卡…
Java审计之SQL注入篇 0x00 前言 本篇文章作为Java Web 审计的一个入门文,也是我的第一篇审计文,后面打算更新一个小系列,来记录一下我的审计学习的成长. 0x01 JDBC 注入分析 在Java里面常见的数据库连接方式也就那么几个,分别是JDBC,Mybatis,和Hibernate. 注入常见场景分析 JDBC的连接是比较繁琐的,并且是最原始的连接方式,我们来看看JDBC的最原始的连接代码 Get型注入: @WebServlet("/demo") public cla…
​背景:有三种类型的车供给用户来租用​ ​要求:控制台用户交互界面,根据用户需求输出租车价格,结果如下: 创建租车类主要设计过程: 创建租车类 创建Car父类,包含四种属性成员,重写构造方法 创建三种车型对应的子类继承于Car父类 创建Car型数组存储子类实例化对象 创建输出欢迎界面的方法 创建输出租车详细信息的方法 创建计算租车租金的方法 main方法为入口…
原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使用拼接字符串,案例:某个网站的登入验证的SQL查询代码为 strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');" 恶意填入 userName = "'…
此CMS  SQL注入漏洞产生原因为未将经过 addslashes() 函数过滤的数据使用单引号包裹,从而导致的SQL注入漏洞.接下来看漏洞详情: 首先查看phpshe下的common.php文件37~44行: 上述代码可以看到,将获取到的GET  POST 数据加上前缀'_g',然后再看pe_stripslashes函数: 可以看到$_GET不为空的情况下,将字符串经过 stripslashes 函数去除反斜线. 然后在查看一下防止SQL注入的函数pe_dbhold: 可以看到此过滤是将字符串…