爪哇,我初窥门径

2017年3月,我大二下学期了。

虽说一直在学习,持续在解决学习中遇到的问题,但迷茫依旧

对着黑框编程,还是不知道Java在现实工作中是用来干什么的。

说实话,真的挺枯燥无趣的。

逐渐,我开始意识到,持续搞这些基础,是没有意义的。

我在网上看他们讨论的Java问题,很多我都看不懂是什么东西。

我要提速了。

之前收藏了很多Java入门路线,感觉是时候到Java Web了。

HTML/CSS/JavaScript/jQuery/Ajax这些前端内容,有了Java的基础,不难理解了。

这些技术也会让我觉得编程有点意思了,终于不用对着那破黑框了。

学完Tomcat/Servlet/HTTP/JDBC/MySQL/JSP的时候,我悟了。

原来很多的网站就是这些利用技术去做的,是这么一回事啊。

串起来了,都能串起来了!

当我知道学了这些技术栈有什么用的时候,我就开始觉得编程有意思了

继续往下学了Struts2/Spring/Hibernate

在Java里很著名的ssh框架,以前的人找工作,必学这个。

我学的时候,他们说ssh也已经有点老了,但我觉得多学无害嘛,看的教程里也有这些。

ssh完了以后,就开始学流行的SpringMVC/Spring/Mybatis框架了,在Java里也是很著名,叫ssm。

从看知乎的答案中,我得出的结论:找工作实习,学完ssm就差不多了,基本够用了

后来又跟着教程看了些框架,比如Activity流程引擎,Shiro鉴权,Web Service服务远程调用等等

框架学得比较快,比学Java Web的时候快多了。

主要是这些框架的课时本身就比较短,网课的老师不会讲得太深入。

后来跟着网课,从零写过好几个项目,Java Web的,ssh的,ssm的,我都做过一两个。

在做项目期间,我意识到一个问题:我编程中犯过的错误,我下一次还是会犯,但解决方案还得重新搜索一次

还有有些知识内容,以前确实是理解了,但是后面忘记了,我又要重新理解一遍

俗话说,好记性不如烂笔头。我决定要开始写博客了,把学过的内容都梳理一遍。

其实在这期间,我有做过笔记:我是把内容复制下来,创建个文件,粘贴进去。

我发现我后续就几乎不看这个笔记内容了,文件不想打开了,甚至文件也找不到了。

排版太烂了,没有上下文,还不如打开百度搜索。

原来我在网上搜到内容,就是这么来的(狗头),区别就是我没发到网上去…


《底层程序员》我的故事持续连载中,下一篇:「我,成为了技术博主

BUUCTF(Binary Utilization and Capture The Flag)平台上有不少与Java相关的题目,以下列举一些常见类型题目及大致解题方法: ### 反序列化漏洞类题目 - **原理**:Java反序列化漏洞是由于程序在反序列化过程中没有对输入的数据进行严格的验证和过滤,导致攻击者可以构造恶意的序列化数据,触发特定的代码执行。 - **题目示例**:一些题目可能会给出一个Java Web应用,允许用户上传序列化数据,利用反序列化漏洞来执行命令获取flag。 - **解题方法**: - 利用工具如ysoserial生成特定的反序列化Payload。 - 分析目标应用的类路径和依赖,选择合适的Gadget链(如CommonsCollections系列等)。 - 将生成的Payload发送给目标应用,触发反序列化过程,获取flag。 示例代码(使用ysoserial生成Payload): ```bash java -jar ysoserial.jar CommonsCollections5 "id" > payload.ser ``` ### Java Web安全类题目 - **原理**:涉及Java Web应用的各种安全漏洞,如SQL注入、XSS、文件上传漏洞等。 - **题目示例**:一个Java编写的论坛系统,存在SQL注入漏洞,需要通过注入获取数据库中的flag。 - **解题方法**: - 对于SQL注入,使用常见的注入技巧,如联合查询、报错注入等,分析页面返回信息,获取数据库中的数据。 - 对于XSS漏洞,构造恶意的JavaScript代码,注入到页面中,通过触发执行来获取敏感信息。 - 对于文件上传漏洞,绕过文件上传的限制,上传一个包含恶意代码的文件,通过访问该文件来执行命令。 示例SQL注入代码(联合查询): ```sql ' UNION SELECT 1,2,'flag' -- ``` ### Java代码审计类题目 - **原理**:给出一段Java代码,要求找出其中的安全漏洞并利用漏洞获取flag。 - **题目示例**:一段Java代码实现了用户登录功能,存在密码验证绕过漏洞。 - **解题方法**: - 仔细分析代码逻辑,找出可能存在漏洞的地方,如输入验证不严格、硬编码的密码等。 - 根据漏洞类型,构造相应的攻击Payload,绕过验证机制,获取flag。 示例Java代码(简单的密码验证绕过): ```java // 存在漏洞的代码 if (password.equals("admin123")) { // 验证通过 } // 绕过方法:构造特殊的输入,如使用空字符串或特殊字符 ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值