- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 网络基础知识(设备-网络-解决方案)
设备 网线 连接两个电脑 物理层 中继器 Repeater 放大网线上的信号 物理层 集线器 Hub 中继器+转发器,一对多,A电脑的信号泛洪到B和C 物理层 网桥 Bridge 智能集线器,多对多,基于MAC地址,A电脑的信号指定传输到B电脑,不给C电脑 交换机 Switch 高性能的Bridge 数据层,网络层 路由器 Router 连接网络和网络
2021-08-25 16:33:07 507
原创 安全笔记:SQL注入
攻击者目标:找到下发请求中涉及使用输入参数直接构造SQL的场景(不一定是界面输入,可能是隐藏的参数,不要求是执行语句,查询语句也存在SQL注入),1.这个参数:没有做参数预编译PreparedStatement,预编译后参数是’参数值’来拼接的,否则会直接拼接SQL。当我们输入不同的非法值(比如1=1,1=2),返回的响应值不同,则很有可能为注入点。当前大部分系统对select参数都会做预编译,但是order by 和limit后跟的参数是无法预编译,是常见注入点。2.查看响应消息和后台日志中是否有数
2020-08-04 21:16:19 186
原创 安全笔记:算法、密钥和认证
安全不安全Hash算法单向算法,涉及盐值,不涉及密钥。用户可以通过Hash算法对目标信息生成一段特定长度的唯一的Hash值,却不能通过这个Hash值重新获得目标信息。HASH算法加密的数据是无法解密的,所以无法用来传输需要解密才能使用的内容,主要用于信息完整性校验。非对称加密公钥:n1=p*k;私钥:n2=(p-1)(k-1);算法特质:仅凭n1无法猜出p和k,特别当n1位数特别大的时候。N1和明文经过算法运算得到密文;N2和密文经过算法运算得到明文。对称加密...
2020-07-28 17:49:03 276
原创 安全笔记:消息头
X-Forwarded-For 和 X-Real-IP 和 Remote Address如果一个 HTTP 请求到达服务器之前,经过了三个代理 Proxy1、Proxy2、Proxy3,IP 分别为 IP1、IP2、IP3,用户真实 IP 为 IP0。属于标准且不需要自行赋值:Remote Address获取到的是IP3,属于标准但依靠代理自行赋值:X-Forwarded-For: IP0, IP1, IP2;不属于标准:X-Real-IP。防御方法:1.直接对外提供服务的 Web 应用,在进行与安全
2020-07-28 17:35:00 315
原创 安全笔记:XSS
1)编码绕过,对关键字进行编码后上传。注意一个元素,可能既是html元素的值,也是url的值,此时它支持多种编码。html元素或属性的值:支持解析实体编码:&qout;html10:ahtml16:ajavascript值:支持jsunicode编码:\u003b,js8:\074,js16:\x3chref的值:支持url编码on事件的值:支持html10,html16,jsunicode,不支持js8进制和js16进制2)大小写绕过,对关键字进行大小写变形。3)特殊字符绕过,在关键字
2020-07-28 17:11:41 129
原创 安全笔记:javascript(基于javascript引擎Rhino实现的)沙箱绕过
javascript支持各种奇怪的语法来执行类方法,导致常规的检查代码中是否包含此类名,来限制命令执行被绕过:var String= java['lang']["String"];var String= ”java.lang.String";var String=java['lan'+'g']['Str'+'ing']['valueOf']('8');绕过方式一:var input= java['lang']['Ru'+'ntime']['getR'+'untime']()['exec']
2020-05-19 16:13:59 441
原创 JAVA笔记八:设计模式
设计模式:设计模式主要的作用是让类在功能扩展时,能保持原有的小和单一,而不是越来越臃肿和耦合。装饰器模式:为了提供新接口给外部调用,和旧接口实现相同的接口,在调用新接口的方法中,会调用旧接口的方法,并对其进行扩展。(比如原来有一个画类,有很多实现类印象派、野兽派;现在想提供一个裱画操作,但是裱画也有很多风格,比如镜框类、宣纸类,每一个都直接继承原来的画类不合适,也就是需要扩展一个抽象类叫做被裱的画类,镜框类、宣纸类都放在这个类下面,但是操作对象仍然可以是各种画,同时被裱的画有又需要具备画的属性和方法。)。
2020-05-16 22:23:03 135
原创 JAVA笔记七:反射
反射技术是大部分框架得以实现的支柱(比如Spring,Mybatis)。它允许在运行时获取类的任何信息,然后就可以对类进行任何的操作。反射技术主要靠Class类来实现。Spring应用反射技术举例:1.实现com.java.test.HelloWorld类。2.Springbeansxxx.xml3.MainApp.java的main方法中调用ApplicationContext ac=new ClassPathXmlApplicationContext(“bean.xml”);HelloWo
2020-05-16 22:20:48 133
原创 JAVA笔记六:JVM内存和gc
JVM是一份本地化的程序(可执行的文件),程序运行起来成为进程。java程序是跑在JVM上的,严格来讲,是跑在JVM实例(JVM跑起来的进程)上,二者合起来称之为一个JAVA进程。各个JVM实例之间是相互隔离的。Jvm内存• 方法区(Method Area):全局共享,持久代。方法区存放了要加载的类的信息(如类名、修饰符等)、静态变量、构造函数、final定义的常量、类中的成员变量和方法等信息。运行时常量池(Runtime Constant Pool)是方法区的一部分,用于存储编译器生成的常量和引用(比
2020-05-16 22:19:03 142
原创 JAVA笔记五:多线程
线程的内存• 可见性:jvm为了加快性能,对于多cpu,会将线程要用到的的对象值从共享内存拷贝一份出来,放在这个线程的缓存里,在每次被线程访问时,都是从自己的缓存中读取该值,如果有修改,则在线程结束时把值写回共享内存。这就意味着,如果两个线程看似操作同一个变量,但是另一个线程改变了这个变量,不会立刻刷新共享内存,同样,一个线程一旦获取到这个变量,后续也很可能不再从共享内存中读取新值,而是从缓存中拿旧的值。volatile保证了一个变量的修改立刻对所有线程可见,就叫做可见性。• 原子性:原子性是针对一条C
2020-05-16 22:17:16 166
原创 JAVA笔记四:集合
Java集合工具包位置是java.util.*Java集合主要包括2块:数据结构(Collection接口,Map接口)和工具类(Arrays,Collections,Iterator迭代器)。• 静态数组类:即我们通常意义上说的数组,是最特殊的Java类,Object的直接子类(遵循Object类的所有规则,比如a=b是传递对象地址),但是没有类文件,也没有构造函数。它的大小一旦初始化后就不能变化了。⁃ 声明:int[] intarray或int intarray[]。⁃ 初始化:new int[
2020-05-16 22:09:47 163
原创 JAVA笔记三:运算&字符
运算符:运算符由Java提供,不支持重载(即运算符提供了什么能力,就只能用什么能力)。除了=,和!=外,其他操作符都只能操作基本数据类型(包装类通过自动拆装箱也能完成运算)。优先级基本上从高到低。• 算术运算符:+ - * / % ++ —⁃ + 有个特例,String类不是数据类型但可以使用+,这实际上不是运算符的重载,而是Java提供了一个语法糖(看上去是+,实际编译时就被替换成了StringBuffer.append)。• 关系运算符: != > <⁃ 对于基本数据类型,比较值;
2020-05-16 21:57:46 176
原创 JAVA笔记二:输入输出
IO类:IO包中绝大部分的类都是由以下四个类直接或间接继承来的InputStream,OutputStream,Reader,Writer。他们是Object的直接抽象子类。此外还有Serializable接口类,文件类。流:流是在数据(Java程序中可以使用的数据对象)和io设备(比如文件,内存,磁盘,控制台,网络设备)间建立的一个管道。输入和输出都是相对于Java进程而言,InputStream/Reader输入流从io设备中获取数据,OutputStream/Writer输出流将数据输出给io设备
2020-05-10 23:42:18 221
原创 JAVA笔记一:基本语法
基本语法编写Java程序时,应注意以下几点:• 大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。• 源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。 一个源文件中只能有一个public类,一个源文件可以有多个非public类。• 类名:Java的两大对象类型之一。类有abstract class 和 普通class,抽象类主要用于定
2020-05-10 23:16:40 243
原创 递归遍历目录的shell脚本
function getdir(){#echo “param=”$1param=KaTeX parse error: Expected 'EOF', got '\?' at position 22: …param=`tr &quot; &quot; &quot;\̲?̲&quot; &amp;lt;&amp;lt;&amp;lt;paramfor element inls KaTeX pars
2019-02-02 20:08:00 462
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人