5.1.7.手机端安全1、app的签名、反逆向2、用户隐私3、文件权限4、网络通讯5、运行时解释保护6、组件权限保护7、升级8、3rd库
系统使用了MyBatis动态SQL框架组装sql,注意配置文件中的$和#的使用,使用$可能导致sql注入拼接后的语句再放入预编译对象是徒劳的,因为在预编译之前拼接的SQL语句执行逻辑已经被破坏,原SQL语句的本意已经被改变了。
5.2.17.6.Spring5.2.17.7.Mybitas5.2.17.8.Druid数据库连接池组件,包括四部分:DruidDriver、DruidDataSource、SQLParsr、扩展组件。可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter机制,很方便编写JDBC层的扩展插件。1、访问没有权限控制
5.2.17.9.TurnserverTurnServer是一个TURN协议的开源实现。该协议允许一个客户端以relay方式获得IP地址和端口。这对于symmetric类型的NAT或者防火墙两边设备的通信非常有用。TurnServer项目旨在兼容地处理TURN和STUN请求(RFC5766,RFC5389),同时也支持RFC6156即TURN-IPV6(relaybetweenIPv4-IPv6,IPv6-IPv4andIPv6-IPv6addresses)和RFC6062即TURN-TCP(relaydatawithTCP)
问题分析数据库中的密码的机密算法推荐:1、使用不可逆加密算法2、使用加盐(避免预先计算彩虹表)
签名哈希算法:证书编码完整性保证的哈希算法签名算法:私钥对证书编码的哈希加密的算法;证书签名使用的算法是发布者自己规定的上面两个是发布机构搞得,用来CA验证的
指纹算法:计算出指纹的哈希的算法,就是哈希算法,一般就是sha1指纹:证书的哈希值并用私钥加密。
---如果证书的跟证书没有,第一次访问会去证书网站获取根证书或者中间证书
5.4.3.RESTWEBService(接口协议)5.4.4.SOAPSoap注入
1、加密协议SSLv2v3需要全部禁用2、TSL的加密密套件部分已经不安全需要配置删除5.4.9.WiFi安全对象(Wep、Wpa)、原理、工具
工具:openvas、nessus
测试方式:可在本地安装nessushome版完来测试
影响较大的漏洞CVE-2016-5195:Linux系统本地提权漏洞,脏牛漏洞。(2016-10)【通吃型】。
5.5.2.各种木马键盘记录木马绑定端口木马回连木马端口复用木马远程控制木马
影响较大的漏洞:CVE-2016-6662mysql本地提权漏洞。(2016-9)5.7.软件的发布与安装安全1、下载的软件有没有提供签名2、下载后安装是否有校验机制
5.9.静态代码分析(纯白盒)1、危险函数、方法、关键字2、工具检测findbugs3、逻辑漏洞5.10.抓包走读代码(灰盒测试)1、前台功能执行、中间工具抓包、后端代码走读的形式(过程:结合业务思路查看中间参数、走读后端代码跟踪参数处理,结合常见WEB安全漏洞形式匹配问题,抓包重放验证问题。)2、可发现的常见漏洞形式:越权、XSS、sql注入、参数合理性等
6.安全测试的原则攻击面最小化默认安全最小权限原则深度防御原则(多角度、冗余的)安全的失败外部系统是不安全的职责分离(权值分离)不依赖隐晦的安全性简单正确的修复安全性问题客户端的输入是不可信的
9.1.文件名上传XSS1、此种问题的特点:首先,是上传点;第二,在上传后使用了上传的文件名(可能又改名,但是记录了文件名);2、系统问题发生点医生系统-终审报告-附件
发现字符/后的部分被作为了文件名,考虑后台代码有字符截断或者限制长度。并且确认我们的字符<>是接受的。下一步设置文件名为aaaaaaaaaaa.gif,发送多次尝试确认文件名可以的最长长度为24个字符,也就是后缀前面的代码只能有20个字符。再尝试b.gif,确认/
失败,什么原因?再尝试a/b.gif
确认/是有特殊处理的,会被截断,那么其他编码试试?前的所有代码,其实这里可以说已经是有问题了,改变了原来界面的语义
再看界面
在解析结果总解析出了hosts文件的内容。2、使用dom4j后程序变得更简单