JAVA基础注释1).单行注释 //
2).多行注释
/*
*/
3).文档注释 (在生成文档时会保留下)
/**
*/
第一个java文件
public class HelloWorld{ public static void main(String[] args){ System.out.print("hello world"); }}
输出语句System.out.print
System.out.println
System.out.printf
区别:
1、print 将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。
System.out.print(参数) 参数不能为空.必须有
2、println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。
System.out.println() 可以不写参数
3、printf 是格式化输出的形式(即可以控制输出的 ...
PHP反序列化面向对象面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了
面向过程是一种以“整体事件”为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中按顺序调用函数
面向对象就是把现实中的事物都抽象为“对象”。每个对象是唯一的,且都可以拥有它的属性与行为。我们就可以通过调用这些对象的方法、属性去解决问题。
面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个“对象”;对象是一个由信息及对信息进行处理的描述所组成整体,是对现实世界的抽象
类定义类是对一组有相同数据和相同操作的对象的定义,是对象的模板,其包含的方法和数据描述一组对象的共同行为和属性。类是在对象之上的抽象,对象则是类的具体化,是类的实例。类可有其子类,也可有其他类,形成类层次结构
类是定义了一件事物的抽象特点,它将数据的形式以这些数据上的操作封装在一起。
对象是具有类类型的变量,是对类的实例
内部构成:成员变量(属性)+成员函数(方法)
属性:定义在类内部的变量 该变量的值对外是不可见的,但是可以通 ...
RCERCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统
后端漏洞
原理一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口。比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上。一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器。 现在很多的企业都开始实施自动化运维,大量的系统操作会通过”自动化运维平台”进行操作。在这种平台上往往会出现远程系统命令执行的漏洞。 远程代码执行 同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。 因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的方法。
在We ...
LDAP注入几乎不考 考了再学 已学
1.LDAP介绍 LDAP不定义客户端和服务端的工作方式,但会定义客户端和服务端的通信方式,另外,LDAP还会定义LDAP数据库的访问权限及服务端数据的格式和属性。LDAP有三种基本的通信机制:没有处理的匿名访问;基本的用户名、密码形式的认证;使用SASL、SSL的安全认证方式。LDAP和其他一些协议走的是同一个套路,基于tcp/ip协议通信,注重服务的可用性、信息的保密性等等,除此之外还要回到那个最原始的问题:信任,当然信息安全的本质问题就是信任的问题。部署了LDAP的应用不会直接访问,目录中的内容,一般通过函数调用或者API,应用可以通过定义的C、Java的API进行访问,Java应用的访问方式为JNDI(Java Naming and Directory Interface)。
LDAP的URL形式为:
ldap://<host>:<port>/<path>,<path>:<dn>[?<artribute>[?<scope>?<filter& ...
SQL后端漏洞
前置SQL 是用于访问和处理数据库的标准的计算机语言
primary key: 主键 用于区分表格中的元素 使元素唯一确定 可以多个
foreign key :外键 用于对应另一表格的主键
创建资料库: CREATE DATABASE 资料库 名字 (反引号);
列出所有资料库:SHOW DATABASES;
删除资料库:DROP DATABASE资料库名字;
选择资料库:USE资料库名
使用INT 整数
DECIMAL(X,Y) 有小数点的小数 两个参数
VARCHAR(N) 字符串 n:最多存放的字符数
BLOB: 二进制资料(图片 影片 档案)
DATE: 日期 XX-YY-DD
TIMESTAMP : 记录时间 XXXX-CC-VV FF:AA:KK
创建表格:CREATE TABLE 表格名(
属性名+类型+PK
属性名+类型
……
...
这里我使用hexo搭建的个人博客
准备下载[nodejs](Node.js — 随处运行 JavaScript (nodejs.org))
我是一路next
下载[git](Git - Downloads (git-scm.com))
一样next
node -v
npm -v
git -v
下载hexo
用管理员身份打开cmd
npm install hexo-cli -g
搭建仓库成功下载好工具之后,我们开始搭建GitHub存储静态页面的仓库
登录github
新建一个仓库
名字必须是账户名.github.io
要public
勾选 Add a README file
生成SSH keygit执行
ssh-keygen -t rsa -C "邮件地址"
一直回车(4次)
找到生成的文件
C:\Users\admin\.ssh
用任意文件编辑器打开id_rsa.pub
全选复制
在github的setting中打开ssh
新建一个ssh key
把刚刚复制的粘贴进去
创建
验证:打开git
输入ssh -T git@github.c ...
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment