代理模式

SQLmap是一款用来检测与利用SQL漏洞的注入神器。

给你一囗甜甜゛ 提交于 2020-03-06 07:15:56
sqlmap 重要参考 http://www.kali.org.cn/forum-75-1.html SQLmap是一款用来检测与利用SQL漏洞的注入神器。开源的自动化SQL注入工具,由Python写成,具有如下特点: 完全支持MySQL、Oracle、PostgreSQL、Microsoft SQL Server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDB、HSQLDB和Informix等多种数据库管理系统。 完全支持布尔型盲注、时间型盲注、基于错误信息的注入、联合查询注入和堆查询注入。 在数据库证书、IP地址、端口和数据库名等条件允许的情况下支持不通过SQL注入点而直接连接数据库。 支持枚举用户、密码、哈希、权限、角色、数据库、数据表和列。 支持自动识别密码哈希格式并通过字典破解密码哈希。 支持完全地下载某个数据库中的某个表,也可以只下载某个表中的某几列,甚至只下载某一列中的部分数据,这完全取决于用户的选择。 支持在数据库管理系统中搜索指定的数据库名、表名或列名 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持下载或上传文件。 当数据库管理系统是MySQL、PostgreSQL或Microsoft SQL Server时支持执行任意命令并回现标准输出。 安装

Spring源码分析笔记--AOP

冷暖自知 提交于 2020-03-05 17:19:02
核心类&方法 BeanDefinition Bean的定义信息,封装bean的基本信息,从中可以获取类名、是否是单例、是否被注入到其他bean中、是否懒加载、bean依赖的bean的名称等。 Aware 继承Aware的bean可以感知到他在容器中的一些属性,如获取bean在容器中的ID,甚至获取到容器等。 BeanPostProcessor Bean的后置处理器,可在bean的创建、初始化等阶段的前后对bean进行增强处理等。 BeanFactory 以 Factory 结尾,表示它是一个工厂类 ( 接口 ) ,用于管理 Bean 的一个工厂。在 Spring 中, BeanFactory 是 IOC 容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 是访问容器的顶层接口,他的实现类中会有一个 MAP ,用于存储 bean 的 BeanDefinition 。 ( 与 FactoryBean 区别:实现 FactoryBean 接口也是在容器中注入 bean 的方式之一,但它不是一个普通的 bean ,而是生成指定 bean 的一个工厂 ) AbstractAutowireCapableBeanFactory :: populateBean ( .. ) DefaultListableBeanFactory 继承了

iOS开发总结-Xcode常见错误

时间秒杀一切 提交于 2020-03-05 15:22:59
这篇文章中收录了Xcode出现的各种错误,并对错误给出了正确的解决方案,以便帮助遇到困难的朋友。 文章由作者刘小壮维护并持续更新,有新的问题并且文章中没有收录的,可以在下面评论区中提出,我会收录在文章中供大家参考。如果有问题不能解决的,也可以在下方评论区中提出,我会尽力帮助解决,并且将解决方案添加到文章中供其他人参考。 "file/file.h" file not found 如果遇到这种类型的问题报错,可以分为三部来解决,由简到复杂一步一步来,直到解决问题位置。 1. 点击Xcode -> Project -> Clean清除缓存或者使用⌘ + ⇧ + k快捷键来清除。 2. 点击Xcode -> Window -> Projects 清除Derived Data的缓存,在清除缓存之前先彻底退出Xcode,然后直接删除缓存文件夹。 3. 再Build Settings -> Header Search Paths 添加路径,$(SRCROOT)/项目名称/文件路径。 如果上面这三种方法都没有解决问题,就要考虑一下文件是否存在或者导入方式是否有错误了。例如: # include<> 和 # include"" 、 # import<> 和 # import"" 的导入方式是否有错误。 ld: -pie can only be used when targeting iOS 4.2

curl总结

*爱你&永不变心* 提交于 2020-03-05 12:19:43
常用curl实例 抓取页面内容到一个文件中 curl -o home.html http://www.sina.com.cn 用 -O(大写的) ,后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西 curl -O http://www.mydomain.com/linux/index.html 模拟表单信息,模拟登录,保存cookie信息 curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.mydomain.com/login.php 模拟表单信息,模拟登录,保存头信息 curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.mydomain.com/login.php -c(小写) 产生的cookie和 -D里面的cookie是不一样的 使用cookie文件 curl -b ./cookie_c.txt http://blog.mydomain.com/wp-admin 断点续传, -C(大写的) curl -C -O http://www.sina.com.cn 传送数据 最好用登录页面测试,因为你传值过去后,回抓数据,你可以看到你传值有没有成功 curl -d log=aaaa http://blog.mydomain

代理模式

谁说我不能喝 提交于 2020-03-04 09:30:29
代理模式是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用;    所谓代理,就是一个人或者机构代表另一个人或者机构采取行动,在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用;   在代理模式中的角色: 抽象对象角色:声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用 代理对象; 目标对象角色:定义了代理对象所代表的目标对象; 代理对象角色:代理对象内部含有目标对象的引用,从而可以在任何时候操作目标对象,代理对象提供一个与目标对象相同的接口,以便可以在任何时候替代目标对象,代理对象通常在客户端调用传递给目标对象之前或之后,执行某个操作,而不是单纯地将调用传递给目标对象; 抽象对象角色: public abstract class AbstractObject { //操作 public abstract void operation(); }   代理对象角色: public class ProxyObject extends AbstractObject{ RealObject realObject = new RealObject(); @Override public void operation() { //调用目标对象之前可以做相关操作 System

Zabbix实战-简易教程--日志类

心已入冬 提交于 2020-03-04 02:56:47
一、主动模式和被动模式介绍 要监控日志,必须使用主动模式,那么,什么是主动模式?什么是被动模式呢? 1、主动模式和被动模式 主动模式 主动模式通讯过程: ● Agent打开TCP连接(主动检测变成Agent打开) ● Agent向Server请求items检测列表 ● Server返回items列表 ● Agent 处理响应 ● 关闭TCP连接 ● Agent开始收集数据 主动检测提交数据过程 ● Agent建立TCP连接 ● Agent提交items列表收集的数据 ● Server处理数据,并返回响应状态 ● 关闭TCP连接 被动模式 被动模式通信过程 ● Server打开一个TCP连接 ● Server发送请求agent.ping\n ● Agent接收到请求并且响应<HEADER><DATALEN>1 ● Server处理接收到的数据1 ● 关闭TCP连接 not supported items通信过程 ● Server打开一个TCP连接 ● Server发送请求vfs.fs.size[ no]\n ● Agent接收请求并且返回响应数据 <HEADER><DATALEN>ZBX_NOTSUPPORTED\0Cannot obtain filesystem information: [2] No such file or directory ● Server接收并处理数据,

JDK代理和Cglib

故事扮演 提交于 2020-03-03 23:27:15
概念 首先需要描述一下代理模式的概念,什么是代理模式: 代理模式就是在访问对象时引入一定的间接性。 比如不直接调用实际对象的方法,这样在这个代理的过程中我们就可以加上一些其他的用途。 静态代理和动态代理 动态代理和静态代理的区别很大,静态代理的类是我们自己定义好的,在程序运行之间就已经变异完成,但是动态代理是我们在程序运行时创建的。 动态代理的优势在于我们可以很方便的对代理类的函数进行统一处理,而不用修改每个代理类中的方法。 网上有一段很好理解的代码片段: public class StuInvocationHandler<T> implements InvocationHandler { //invocationHandler持有的被代理对象 T target; public StuInvocationHandler(T target) { this.target = target; } /** * proxy:代表动态代理对象 * method:代表正在执行的方法 * args:代表调用目标方法时传入的实参 */ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("代理执行" +method.getName() + "方法"

模式的秘密-代理模式(1)-静态代理

若如初见. 提交于 2020-03-03 18:50:28
代理模式: 为其他对象提供一种代理以控制对这个对象的访问,代理对象起到了中介作用,可以去掉功能服务或者额外的服务。 以火车站买票为例子: 火车票代售处是火车站的代理,代售处可能不止可以卖火车票,还可以卖飞机票,但是不支持火车票退票功能,因此代售处起到了中介作用, 可以去掉功能服务或者额外的服务。 常见代理模式:远程代理,虚拟代理,保护代理,智能引用代理。 智能引用代理 两种实现方式:静态代理,动态代理。 静态代理: 代理和被代理对象在代理之前是确定的。他们都实现相同的接口或者继承相同的抽象类。 静态代理分继承方式和聚合方式两种实现 。 实例: 通过代理,实现汽车行驶的方法,同时记录汽车的行驶时间。 普通不使用设计模式实现方式 : 第一步:行驶接口: package com.Proxy; public interface Moveable { void move(); } 第二步:实现汽车类:汽车类中实现行驶方法,里面记录行驶时间。 package com.Proxy; import java.util.Random; public class Car implements Moveable { @Override public void move() { long starttime=System.currentTimeMillis(); System.out.println(

正向代理与反向代理

我与影子孤独终老i 提交于 2020-03-03 18:30:01
关于Nginx的介绍:https://www.cnblogs.com/wcwnina/p/8728391.html 正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式 屏蔽或者隐藏了真实客户端信息。 客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。 总结来说: 正向代理, "它代理的是客户端,代客户端发出请求" ,是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 正向代理的用途: (1)访问原来无法访问的资源,如Google (2) 可以做缓存,加速访问资源 (3)对客户端访问授权,上网进行认证 (4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息 客户端是无感知代理的存在的,反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。因为客户端不需要任何配置就可以访问。 反向代理, "它代理的是服务端,代服务端接收请求" ,主要用于服务器集群分布式部署的情况下, 反向代理隐藏了服务器的信息。 反向代理的作用: (1)保证内网的安全

Squid ---- 传统代理模式

喜夏-厌秋 提交于 2020-03-03 08:13:18
Squid ---- 传统代理模式 一:定义 ​ Squid传统代理是普通的代理服务,需要客户端在浏览器、聊天工具等一些程序中设置代理服务器的地址和端口,然后才能使用代理来访问网络,这种方式相比较而言比较麻烦,因为客户机还需手动指定代理服务器,所以一般用于Internet环境 。 二:代理的作用 ​ squid作为一款应用层的代理服务软件,主要提供了缓存加速、应用层过滤的功能;提高web访问速度;隐藏客户机的真实 IP地址,起到一定保护作用。 三:实验过程 1、实验环境 VMware Workstation虚拟机 在squid服务器上配置 2、修改主机名 ,创建新目录并把squid压缩包挂载上,然后解压 [root@localhost ~]# hostnamectl set-hostname squid [root@localhost ~]# su [root@squid ~]# mkdir /abc [root@squid ~]# mount.cifs //192.168.100.1/share /abc [root@squid ~]# cd /abc [root@squid abc]# tar zxvf squid-3.4.6.tar.gz -C /opt 3、安装编译工具,再编译,再安装 [root@squid abc]# cd squid-3.4.6 [root@squid