iOS安全攻防之结构体保护使用

Objective-C 代码很容易被 hook,因此需要对一些重要的业务逻辑进行保护,可以改用结构体的形式,把函数名隐藏在结构体里,以函数指针成员的形式存储。这样编译后只留了下地址,去掉了名字和参数表,提高了逆向成本和攻击门槛。  例如,把以下代码进行保护:+ (BOOL)isPermission:(int)level; + (CGFloat)totalAmont; + (void)someP
阅读本文

十大Web应用安全风险

A1—注入 (Injection):是指攻击者通过输入恶意数据,从而达到在Web服务器环境下运行任意指令的目的。比较有名的是SQL、XML和LDAP注入。在应用程序中,通过对用户输入的特定字符进行转义,可以预防恶意数据的注入。 A2—跨站脚本 (Cross-Site  Scripting,XSS):是指应用程序在没有对用户输入进行正确验证的情况下,将这些输入直接输出到了Web浏览器
阅读本文

怎么看待移动APP的安全测试

随着互联网发展,APP应用的盛行,最近了解到手机APP相关的安全性测试。目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App。 特别是以webview为主体的app,先简单说说,站在入
阅读本文

线程安全的时间类

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @Description: 线程安全的时间类 * @author : * @date :2017年5月23日 下午4:50:55 */ pub
阅读本文

公钥和私钥

公钥和私钥就是俗称的不对称加密方式,是从以前的对称加密(使用用户名与密码)方式的提高。用电子邮件的方式说明一下原理。      使用公钥与私钥的目的就是实现安全的电子邮件,必须实现如下目的:      1. 我发送给你的内容必须加密,在邮件的传输过程中不能被别人看到。      2. 必须保证是我发送的邮件,不是别人冒充我的。      要达到这样的目标必须发送邮件的两人都有公钥和私钥。
阅读本文

(转+原创)java的枚举类型Enum解释

下文中还添加了个人的一些补充和理解。  在Java SE5之前,我们要使用枚举类型时,通常会使用static final 定义一组int常量来标识,代码如下public static final int MAN = 0; public static final int WOMAN = 1;相信很多小伙伴,在实际开发中也是那么干的,既然这样已经能实现枚举的功能,为什么还要引入枚举呢?我们接着往下看
阅读本文

ArchLinux配置Samba服务与Windows共享文件

由于最近加班,俺的高清下载机中,已经累积了200G+的高清电影了,嘿嘿,看来平时的带宽没浪费,充分利用了。在这之前,由于懒于配置Samba,我都是偷懒,用的SFTP,通过Linux帐号来登录下载机,然后把要看的电影,一个一个的用SFTP的方式,给拖到我的电脑上,再欣赏。其实这样的效率挺低的,而且又浪费硬盘,又浪费时间。Linux的Samba,为Linux与Linux之间,还有Linux与Windo
阅读本文

常见的前端漏洞及防御措施

随着WEB应用越来越复杂,用户对WEB安全也越来越重视。再加上前端工程师的工作面已逐渐扩大,开始覆盖到各种业务逻辑,因此如何应对各种WEB安全问题就显得十分重要,今天我们就来探讨下前端开发编码工作中可能造成的WEB安全问题及防御措施简介target=‘_blank‘攻击实例你的正常登陆的网页<!-- test1.html --> <!DOCTYPE html> <html> <head>
阅读本文

阿里云云服务器的端口配置问题

心血来潮花了9块9(学生价)买了个阿里云。因为后端只会一点 Node,所以上来第一件事就是按照官方教程把部署 Node 项目这个教程撸了一遍。问题描述官方教程代码const http = require(‘http‘); const hostname = ‘ECS公网IP地址‘; // 这里把文字换成自己的公网IP地址 const port = 3000; const server = http
阅读本文

安装openssl与openssh

今天首次接触安装OpenSSL与openssh,命令如下:1、将192.168.100.14下的/home/zx/soft/openss*.tar.gz移动到本服务器的/home/zx目录下    scp zx@192.168.100.14:/home/zx/soft/openss*.tar.gz /home/zx2、解压openssl-1.0.2j.tar.gz文件tar -zxvf opens
阅读本文

如何给域名配置https证书

http和https的区别就是,后者在网络传输过程中会很安全,原因就是给http安装了SSL证书。 SSL证书有免费的和收费的,收费的顾名思义就是保护的方面更多,更安全。收费的像单域名的一年有几百、几千的,多域名的更贵,比域名注册费用相比也是贵上不少。如果你是做一个网站、或者一个h5网页,又或者是一个安卓App,也是可以直接使用http的。但是如果你需要开发一个iosApp或者小程序,而且需要服务
阅读本文

HashMap和 Hashtable的比较

Hashtable 和 HashMap的比较1.  HashMap可以接受null(HashMap可以接受为null的键值(key)和值(value), HashTable不可以接受为null的键(key)和值(value)2.  HashMap是非synchronized的, Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hasht
阅读本文

【Spring-Security】【2】DelegatingFilterProxy

Spring Security 对我们应用的影响是通过一系列的 ServletRequest 过滤器实现的。Spring Security 使用了 o.s.web.filter.DelegatingFilterProxy 这个 servlet 过滤器来包装所有的应用请求,从而保证它们是安全的。DelegatingFilterProxy 实际上是 Spring 框架提供的,而不是安全特有的。这个过滤
阅读本文

对象的多例和单例管理

对象的多例和单例管理:   IoC容器默认管理的Bean对象是单例的。scope=“singleton“.   如果希望多例:scope=“prototype“.   什么时候用单例,什么时候用多例?   Service,dao一般都是单例的。因为获取对象的目的是调用方法。不需要多例创建对象。     像这样的Bean,也称为无状态Bean(没有属性,或即使有
阅读本文

How To Configure VMware fencing using fence_vmware_soap in RHEL High Availability Add On(RHEL Pacemaker中配置STONITH)

STONITH是Shoot-The-Other-Node-In-The-Head的简称,并且它能够保护数据使其不会因为节点异常或者同时访问而遭到损坏。节点无反应并不代表它没有存取数据,如果想要百分百确认数据安全的话,需要使用STONITH来隔离节点,以确保在目前的节点已经离线后其它节点才能正常存取数据。STONITH也能用于集群服务无法停下的情况。在这种情况下,集群可以使用STONITH来强制整
阅读本文

Java String

String, StringBuffer, StringBuilderString, StringBuffer, StringBuilder三者的区别Java字符串处理离不开这三个类。这里总结下这三个类的区别,这里参考了。执行效率在执行效率上StringBuilder > StringBuffer > String。但是也有例外,详情见下面的特殊的例子。可变vs不可变这点其实可以解释这三者执行效率
阅读本文

单例模式的七种写法

1.适用场合 需要频繁的进行创建和销毁的对象; 创建对象时耗时过多或耗费资源过多,但又经常用到的对象; 工具类对象; 频繁访问数据库或文件的对象。  2.如何实现?第一种(懒汉,线程不安全): Java代码   public class Singleton {       private static Singleton instance;       private Singleton (
阅读本文

tomcat 虚拟目录的安全问题

谁都知道tomcat 可以设置虚拟目录。 一般的web application 都会使用自己的安全策略。 如果你的web application 使用的自己的安全策略,恰好又需要使用虚拟目录,这时候就会有问题了。 你的web applicatoin的安全策略是无法保护虚拟目录的,即使你把虚拟目录的路径甚至的和你的web applicatoin 一样也没用。 后来我思考了一下,任何对tomcat路径
阅读本文

2017 UESTC Training for Graph Theory

图论姿势太弱,这套题做了好久。。A:枚举最短那条边,然后最小生成树那种操作,1 和 n 联通就算答案B:考虑到假如我们能凑出x的话,那很明显我们也能凑出任意数表示x + ai,考虑选取一个ai,然后dis[x]表示能凑出k % ai == x的最小k,跑一次最短路,初始化dis[0] = 0,假设选择的ai为A,然后0 - A-1对于每个数ai都连一条边则dis[(u + aj) % A] = m
阅读本文