`
zzhonghe
  • 浏览: 248307 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

程序安全学习总结

 
阅读更多
安装程序的安全问题:

1. 存在默认帐号权限

默认帐号的用户名,密码都是在网络上公开的,很多初级的软件使用者有时忽略了这样的一个帐号的存在。这些默认的帐号,即便是权限很小的Guest帐号,也可以给被攻击者用来做很多事情。


2. 滥用Public

给予Web访问用户太多的权限,比如create procedure, 那么提交的Url里面就可能包括创建,并且执行procedure的命令。
另外还可以通过Database去访问Intranet的Web Server,通过DB的HTTP访问等。


3. 额外的管理代码,Demo代码或者测试代码,

这些额外的代码可能会被Google的爬虫所捕获到(比如:搜索login.jsp.bak),由于这些代码是不被编译执行的,所以源代码就被当成普通文字网页获取到了,采用特许的关键字搜索,就能获取到这样的页面,然后就知道某个主机的帐号,密码等。

另外这些代码可能设计的不是很好,有很多Hard Coding,所以容易暴露程序的地址,参数,逻辑等

这些代码最好放到其他的目录,以便用来刻录,不发布到生产环境中

如果某些文件的运行需要较高的权限,那么在安装完成后,立刻取消这些权限


4. 文件的权限设置

攻击者有目标系统的低等级权限以后,通过浏览各种其他文件,然后有可能获取应用的帐号和密码。 如果对某些配置文件有写的权限,那么可以修改配置。 另外很多安装后的Temp文件里面可能会含有安装密码。 所有不能认为只可读就是安全的。


5. Process的权限太高,比如有root权限

Process是指某些应用,这些应用如果被攻陷的话,由于其拥有root权限,那么就等于攻击者拥有了root权限

PL/SQL应用就是其中的一种,audit log的可读帐号,要和execute帐号一致,当其audit失效(暂时不明白是如何失效的)的时候,就能给用来干很多坏事, Database Role不能有connect和resource权限

Windows Service也是一样,他有相当高的权限。即便Service不在某台机器上,通过控制这些Service,然后采用其message就能控制远程机器。

SETUID是一种添加权限的Process,这种process被攻陷就更恐怖了

JAVA程序如果没有显示访问权限,那么可能会被用来浏览文件,然后找到password



6. 辅助Debug的代码演绎成后门程序

一般有详细配置,或者修改配置用的代码,帮攻击者熟悉了系统,获取了密码



7. 无用的备份代码,或者其他无用代码泄漏源代码,或者密码

*.bak,  *.sav. old等,泄漏源码,被google获取

有可能有些work目录也能被访问,这样的话,所有的源码都被暴露了。

另外还有一些data目录,用来做测试的,也被保留在site里面了,这样这些信息没有被保护好的话,也能被获取并攻击。



8. Unix的安全安装

采用最小必要权限, 用umask来确保继承正确权限, 采用特殊权限保护某些目录, 安装过程中要用到的权限在用完后设置取消,  临时文件如果可以的话放在memroy里面,用完就失效





数据验证安全问题:  85%的安全问题出在这里


1. 字符编码的安全问题

比如有些应用只对小写的文件名进行验证,非小写文件名则不进行验证而直接通过。绝对属于编码问题

A可能会有好几种方式%41, 0x20  0x34  0x31等, 程序接收这种编码后的字符串,可能会导致接受了攻击者的更多注入的代码,隐藏在这些编码后的字符串里面

所以对于接受URL或者参数的时候,尽量不要是编码后的,或者需要校验一下。

绕过验证

多个字符解析时候被当成了单一字符,也会造成安全验证被绕过 (xx>b)  (xx==1|x>b)   xx被替换成了1==1||x>b 后面就始终是ture,造成了绕过验证




2. 网络数据的问题

网络数据需要在Client和Server端同时验证, 服务端要假设所有的Client都是不怀好意的。 某些valid Session可能会被捕获,然后被利用来做攻击。


3. 溢出问题

由于c不进行边境检查,攻击者给输入参数传入一个很大的字符串,如果程序不自己校验边境,那么这字符串就被加载到内存里面了, 字符串里面可能会有另外一段script, 当当前方法执行完后,可能会被定为到攻击者的代码段,然后被实施了攻击。


4. 格式化String的问题


5. SQL的注入攻击

加入注释符号--,让后面的具体验证失效。 避免使用从客户端传入的字符串拼凑SQL, 一定要采用安全的预编译的方式

where userName='admin--' and password='xx'


6. XML的注入攻击

在portal dynamic XML generation package里面可以插入sql进行攻击


7. Script的注入攻击

在url里面添加<script>...</script> 的参数, 这段代码被记录到数据库, 当有人打开包含这段代码的页面的时候,我的script就在其机器上执行了。 对方可能是银行内部人员,这样我的scritp就有访问银行内部网站的权限了。


8. Shell的转义


9. 文件名的攻击

比如class文件访问的目录在classes以下, 但是程序通过  .来表示当前目录,  ..表示上层目录,夹杂在路径当中,导致相对目录为文件的暴露。 /WEB-INF/./web.xml 




CGI以及Web程序的攻击:

1.  通常的攻击方法:  
获取HTTP Header,并且假冒。  
在URL的Get或者Post数据里面添加自己的参数, 获取sessionId,假装是valid的client.
通过url参数猜测逻辑,
数据传入到server的时候,被intercept或者translate了
cookie或者session的泄漏,由于Browser的原因
有些网站禁止Browser查看源码的,这是徒劳的,因为如果采用一般的Telnet,那么可以bypass it.



2. Cookie Attack:

开始攻击之前需要进行一些资料收集的工作,比如主机名, 比如url:   各种名称能够反映出系统的架构,或者是逻辑分布等

db1.example.com 代表的是一个Database,那么就可能会被确认了攻击目标

此外还有版本号, cookie里面的值, 隐藏字段等



3. Session Attack:

关键就是根据各种方法比如监听URL, 查找本地文件,或者是History URL,等找到sessionID, 然后进行连接

此外,sessionID还可能
分享到:
评论

相关推荐

    汇编语言程序设计学习总结与心得.zip

    本文件“汇编语言程序设计学习总结与心得.zip”包含了一个名为“汇编语言程序设计学习总结与心得.docx”的文档,很可能是某位学者或程序员在学习汇编语言过程中的笔记和体会。 汇编语言的学习涵盖以下几个核心知识...

    安全学习总结范文.doc

    安全学习总结 安全学习的重要性不言而喻,尤其在工业生产环境中,安全是保障个人生命和企业稳定发展的基石。在筛分车间的学习中,我们深刻体会到安全意识的培养和安全规程的掌握是日常工作不可或缺的部分。 首先,...

    WEB应用程序安全培训材料.ppt

    此外,还涉及到Web应用程序安全模型,如服务器端操作系统、Web服务、沙盒模型等,以及它们如何通过HTTP/HTTPS交互,并与数据库、目录服务、邮件服务等协同工作。 【基础知识】部分,学习者需要掌握至少一门网络编程...

    批处理windows安全加固程序 一键安全加固系统

    此工具为bat批处理文件,里面是我收集总结的一套安全加固命令,集成windows系统的所有安全处理项,对于公司服务器,个人pc加固起到非常好的效果,只要双击运行,cmd可视界面,让你的电脑更加安全。更是学习系统安全...

    阿里云安全恶意程序检测-最终版1

    综上所述,阿里云安全恶意程序检测项目涉及了数据科学和机器学习的多个环节,包括数据理解、特征工程、模型构建和优化,以及结果评估。团队的深入研究有助于增强阿里云的安全防护能力,确保用户的数据安全。

    班组安全工作总结.docx

    班组安全工作总结是对过去一段时间内班组安全工作的回顾与评估,它对于确保石油化工企业的安全生产至关重要。本文主要探讨了几个关键知识点: 1. **安全第一,预防为主**:这是班组安全管理的核心原则,意味着所有...

    注册安全工程师案例学习总结.doc

    注册安全工程师案例学习总结涵盖了多个方面的安全工程知识,包括危险有害因素的分类、事故类别、职业病危害因素、控制措施、负责人培训、安全评价过程和类型、事故应急救援任务以及应急预案的编制等。 1. 危险有害...

    雨季月度安全工作总结.rar

    标题“雨季月度安全工作总结.rar”提示我们这是一份关于雨季期间某组织或企业进行的安全管理工作总结,很可能包含了该时期内的安全防范措施、事故分析、预防策略以及应急预案等内容。由于标签为“教育”,我们可以...

    基于微信小程序的实验室安全教育系统研究.pdf

    实验室安全教育系统通过微信小程序的形式,能够突破时间和空间的限制,让学生和实验室工作人员能够随时随地学习安全知识,提高安全意识。 本研究首先构建了实验室安全教育考试系统的基础架构,然后对系统的功能进行...

    供电安全个人工作总结.docx

    9. **总结与反思**:工作总结不仅是对过去工作的回顾,也是对未来工作的规划。通过总结事故教训,可以防止类似问题再次发生,持续改进安全管理工作。 综上所述,供电安全员的工作涵盖了安全生产的各个环节,从制度...

    学习总结监理员培训安全监理机电学习教案.pptx

    《监理员培训安全监理机电学习教案》是一份专业资料,主要涵盖了建设工程安全监理的基础知识、安全监理的职责、安全监理工作的依据和原则、施工阶段安全监理的具体内容与程序,以及监理人员的安全职责和监理工作制度...

    安全月化工厂安全工作总结.docx

    通过组织全体员工学习事故应急预案,让员工熟悉应对突发事件的程序。同时,举办征集“惯性违章”和“安全生产合理化建议”活动,鼓励员工发现并纠正不安全行为,提出改进安全生产的建议。 4. **安全检查**: 在...

    注册安全工程师案例学习总结.pdf

    注册安全工程师的学习涉及了多个方面的安全知识,包括危险有害因素的分类、事故类别、职业病危害因素、控制对策措施、安全教育培训、安全评价程序、应急救援管理以及应急预案的编制等核心内容。 首先,GB/T13861-...

    《汇编语言程序设计》学习总结与心得.doc

    ### 汇编语言程序设计学习总结与心得 #### 一、引言 汇编语言是一种介于机器语言和高级语言之间的低级程序设计语言,它以人类可读的形式描述了计算机指令集架构(ISA)。虽然汇编语言的使用不如高级语言广泛,但它...

    建筑工程安全生产工作总结.docx

    建筑工程安全生产工作总结反映了2021年板滩水库管理所在安全工作上的主要行动和成就。这一年,单位在县委、政府和水务局的指导下,遵循“安全第一,预防为主,综合治理”的方针,强调“隐患险于明火,防范胜于救灾,...

    安全生产办公室工作总结.pdf

    【安全生产办公室工作总结】 安全生产是企业运营中的核心环节,旨在防止人员伤亡和财产损失,通过实施预防和控制措施确保生产活动的顺利进行。安全生产办公室的工作涵盖了多个方面,包括车辆安全、食堂卫生、生活区...

    幼儿园食品安全工作总结.pdf

    【幼儿园食品安全工作总结】 幼儿园食品安全是保障幼儿健康成长的关键因素,它涉及到孩子们的生命安全和身体健康,因此在幼儿园的日常管理中占据重要地位。以下是对幼儿园食品安全工作的一些核心知识点的详细阐述:...

    信息安全期末总结.pdf

    【信息安全期末总结】 信息安全是当前数字化时代至关重要的领域,它涉及到保护信息资产免受各种威胁。信息安全的概念包括一系列用于确保信息保密性、完整性和可用性的措施。这些措施既包括技术手段,如加密、防火墙...

    程序员注册表学习总结

    学习注册表对于程序员来说至关重要,因为它可以帮助优化系统性能、解决软件冲突、理解和调试程序行为。 一、注册表概述 注册表(Registry)是由HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_...

Global site tag (gtag.js) - Google Analytics