作者:代码彩绘人生(v安全团队核心)
很多年前出现了互联网
出现互联网后,人类生活越来越多的日常行为开始在互联网上实现
网上购物、网上订餐、电子游戏、网络赌博、购彩、订票、社交、理财等等。
网络是一个丰富而多姿多彩的世界
任何一个世界都会存在法律的束缚,用来限制这个世界的角色所做一些不该做的事情
如:网络涉黄、非法赌博、网络传销、反动、暴力、邪教等等行为事物或思想。
然而,天网恢恢疏而不漏,对于网络世界来说,这个词的含义相当的弱
因为一些专业人事利用技术在网络世界出现不法行为,未必可见其真身,而技术到位足以抹除痕迹。
为了丰富人们的生活,越来越多的产品以取代现实生活一些所必需的行为。
很多传统行业,开始迈入网络世界。很多励志者,开始通过网络事业进行创业。
然而随着产品的兴起,漏洞随之而来。
银行卡被盗刷、公司被刷钱、数据出现在黑市、各种身份证、户口本出现在黑色产业链、各种产品的源代码出现在不法地域。
不用怀疑网络安全在未来事业中的低位、无需怀疑社会工程学的真迹与隐秘,说不定,你的户口和多年学历甚至你谈对象的经历、开房经历、就餐经历,依然出现在社工库或黑链的某个角落,当有一天你的身份成为亮点,那么你的信息将被翻出。
近期审计各类产品BUG,主要针对平台、产品(上线不超过两年)类系统进行测试,设计app、web等。
申明:本人并非网络安全专员,本人只是一名朴实的编程开发者。
如果你是开发者,请思考一下:你在检查验证码输入正确之后是否
从session清除验证码,你在编辑数据的时候后台是否有验证权限,你在绑定手机功能的时候后台是否有检查已绑定手机,你的项目中项目中是否有过滤了尖括号,你的业务是否有token。
以下对产品的信息做一个总结。
首先统计语言,web产品大部分项目以java》php》net为开发语言,其安全性java》net》php。
其次统计漏洞,以:csrf漏洞》xss漏洞》业务逻辑漏洞》综合漏洞》文件上传漏洞》命令执行漏洞,近期测试sql注入漏洞排除在外,由于编译类语言存在预编译神器,本人对sql注入漏洞并非太感兴趣。
csrf。这是一个新兴而神器的漏洞。目前为之,几乎60%所测试的项目均存在此漏洞。但由于各业务方面原因,此漏洞未构成较大影响,且攻击过程很可能需要社会工程学配合,本人并未加以利用,攻击流程:欺骗其他用户(吸引管理员或其他会员打开一个链接,可通过社会工程学部分技术),目标对象打开链接之后,利用http协议(ajax或form表单提交数据),可借助用户身份反弹进行某些业务,本人曾在一个省份卫士下的某个系统触发过此漏洞,其导致效果:自动利用用户金额参加本人某些业务。。。对于产品维护而言,添加临时授权码token即可。
xss。作为一个与sql平级且危害范围比sql广的漏洞。xss带来的危害可大可小,BAT三大公司,以及各大知名公司隔三差五被爆出此漏洞,有时被用于盗窃用户信息,甚至管理员信息,有时用来劫持页面钓鱼,有时用来做宣传,或引发蠕虫病毒攻击。贯彻所测所有项目,xss最为经典,配合本人自主开发的xss平台,简直比八十岁老处男初夜还爽。利用流程:想尽一切办法在网站留下xss脚本(用户信息、留言反馈、社交评论、头像处、收货地址等等),当其他用户(管理员或网站其他会员)浏览此信息,即可获得一些特定的权限或信息(管理员或会员的cookie、劫持页面引导欺骗会员进入另一个网站或钓鱼、劫持页面挂广告以造成不良影响、蠕虫病毒式宣传)等。而xss用法最多的就是获得管理员cookie进入后台,综合其他漏洞进一步提权获得服务器、数据库、项目源码等。防御方式归根结底为两个字:过滤。
业务逻辑漏洞。这个漏洞所阐述的范围就比较广了,其余均属系统级别漏洞,而此漏洞却与业务息息相关,此漏洞的存在,否认了开发者的素质。腾讯公司曾经的唰啭,就属于此漏洞范畴,曾经有一名开发者做了一个列表(收货地址列表、订单列表等或其他列表),业务逻辑是点击某条数据的时候,传入一个id进入这条数据的浏览或编辑状态。这是开发中的一个通用逻辑,然而有多少产品在类似操作没有验证权限,导致越权漏洞,国内某个屈指可数的手机厂商的wap商城就存在过这个漏洞被穷举订单。开发者做了一个绑定手机,业务逻辑是没有绑定手机就引导用户跳转到绑定页面去进行绑定,而已经绑定的就不会有这个提醒和页面。而绑定的过程仅仅是:验证用户状态是否正常、验证手机号和短信验证码、更新入库。万事大吉,看上去这个逻辑是没有问题的,没错,这个逻辑是对的。可攻击者就是喜欢用不正常的业务去走这个逻辑。首先对绑定手机抓包、把协议保存下来。然而不管你有没有绑定手机,都通过这个协议发包。直接绕过旧手机的验证换绑!国内某个非常著名,有卫视频道傻子都听过的公司12年上线的一个产品就存在这个问题。另外还有:重置密码最后一步的时候接受了一个username却没有对username进行验证导致随便盗号、提款或充值最后一步的金额由客户端提交、购买数量出现负数、短信验证码随便轰炸、会员数据订单数据等随便穷举、多商品订单一正一负价格碰撞、等等这是神仙开发者做出来的产品。业务逻辑,这个漏洞没有完整的维护方案,就算是本人亲自写的程序,也难免会出现一些特定或隐藏较深的漏洞,唯一的维护方案就是提高开发者的素质,尽可能避免。
文件上传漏洞。文件上传漏洞不需要做过多的解释,上传一个脚本文件。脚本一旦执行,便会获得执行者身份权限。比如说:某个tomcat是root用户运行的,某个产品存在文件上传漏洞。那么我上传了一个jsp文件。这个jsp文件会以root身份去执行。至于说执行什么内容。我写什么内容不就是什么内容么。我可以用Runntime去执行shell命令创建一个服务器管理用户、或者打开某些端口、或者用java io去写一个文件管理器、写一个数据库导出程序。不都可以么。而大部分存在这个漏洞的。仅仅在页面上验证了后缀,并非在后端做出验证。少量存在此漏洞的,由于文件上传的保存路径出现在了客户端提交参数上,当这个路径可控的时候,偶尔也会被绕过后端的后缀验证。至于说维护方案,就是严格审核后端文件上传的业务逻辑。运营商项目经常出现此漏洞,多出现在外包项目中。
综合漏洞。综合这一点需满足特定的条件。由多种漏洞组合起来,便引发此漏洞。 本人在某次攻击事件中,有过这样的一次攻击:
第一,某个网站存在文件上传漏洞,但搭建了文件服务器,不解析任何脚本。第二,这个网站存在一个小BUG。某个地方抛出异常的时候泄漏了产品的物理路径。第三,文件上传的业务过程有一个dir的参数,里面为文件上传的保存路径。那么怎么利用就明朗了。直接上传到这个网站的物理路径下即可解析。案例二:某个很大的物流公司、由于其app项目的服务端接口存在越权浏览漏洞。在下穷举了其用户信息。但并无密码和敏感信息。然而其重置密码出现漏洞。本人加以利用。构成整站随便盗号。 案例三:某个app产品的商家页面有联系手机,本人在这个平台商家登陆系统登陆页面发现用户名就是手机号。于是点击忘记密码,通过发送验证码-多线程穷举验证码,几分钟即可盗任意伤害用户。然而在这个基础上,可能获得了不一样的用户,便会出现不一样的功能,然而再结合其他功能加以提权,达到扩大漏洞危害的效果。案例四:某平台存在xss漏洞,但是由于httponly问题或局域网问题,导致不能进入后台,于是本人通过apt抓取html代码获得信息,在一个文件上传处,刚好别人系统后台存在文件上传漏洞,本人利用xss的ajaxfileupload,上传了一个木马,通过前台图片路径访问获得webshell并控制整个系统,案例五:某个平台存在越权漏洞,但是越权不能修改用户任何信息,本人通过越权漏洞获得他人用户各种信息,找客服说忘记密码,然而弱智的客服利用我越权获得的身份证、手机号码、注册时间、商品信息重置了该用户密码,我便盗取此号。综合利用漏洞,此漏洞也偶尔出现在BAT和大型厂商,随着产品的升级和迭代。漏洞相互利用愈演愈烈。此类漏洞没有统一的维护方案,加强产品的测试和开发者的素质即可缓解。
命令执行漏洞,命令执行漏洞相对出名的有struts2漏洞、jboss反序列化漏洞、discuz代码执行漏洞等。此漏洞属于系统漏洞,危害之广,范围之大。但同时维护起来也相当便捷,只需要针对漏洞利用方式或漏洞本身原理加以防范即可。
一些漏洞(以上漏洞包括在内)的常态:验证码被穷举直接盗号、命令漏洞直接获得程序权限、弱口令漏洞(穷举后台、数据库、服务器管理员密码)、逻辑漏洞导致公司金钱被盗刷、页面劫持导致会员被诈骗、 蠕虫病毒导致疯狂宣传、产品源代码和数据出现在黑市等等。
除以上程序级别漏洞之外,还有一项相对来说比较高级的漏洞:人为因素漏洞
人为因素漏洞 取决于内部成员之间的素质。就像著名的社会工程学大师:凯文米特在《欺骗的艺术》中讲到,某公司的产品防范非常好,他们每天晚上把所有人的秘密都锁起来,员工也训练有素。并且雇佣了最好的保安,安装了各种受推荐的安全产品,并十分谨慎的处理系统配置以及应用补丁,但他们仍然不安全。
案例一:
亲爱的员工XX(直呼其名): 在公司最近的一次安全风险评估中,我们在您的电脑上发现杀毒软件已经过期了。对公司造成了一定的潜在风险,通过网络我们查到了您的住址(真实住址),我们需要您合作,一起降低该风险。 您收到的这个U盘中包含了杀毒软件更新程序,请将U盘连接到您的计算机,并按照下面的说明来安装更新: 1:双击图标“我的电脑”。 2:双击可移动磁图标上对应的U盘驱动器。 3:双击“防病毒更新”程序。 如果更新程序执行成功,你会看到以下信息:“杀毒软件更新成功”,一旦您执行这些步骤,能将您的杀毒软件更新到最新版本,并能保护您的计算机免受病毒威胁。 我们非常感谢您对(公司名称)的帮助
案例二:
李小姐是某个大公司的经理秘书,她工作的电脑上存储着公司的许多重要业务资料,所以属于公司着重保护的对象,安全部门设置了层层安全防护措施,可以说,她的电脑要从外部攻破是根本不可能的事情。为了方便修改设置和查杀病毒,安全部门可以直接通过网络服务终端对李小姐的电脑进行全面设置。也许是贪图方便,维护员与李小姐的日常联系是通过QQ进行的。 这天,李小姐刚打开QQ,就收到维护员的消息:“小李,我忘记登录密码了,快告诉我,有个紧急的安全设置要做呢!”因为和维护员很熟了,李小姐就把密码发了过去。 一夜之间,公司的主要竞争对手掌握了公司的业务,在一些重要生意上以低于公司底价的竞争手段抢去了大客户,令公司蒙受损失。经过调查才知道是公司的业务资料被对方拿到了,公司愤然起诉对手,同时也展开了内部调查,李小姐自然成了众矢之的。最后焦点集中在那个QQ消息上。维护员一再声称自己没发过那样的消息,但是电脑上的记录却明明白白的显示着„„随着警方的介入以及犯罪嫌疑人的招供,一宗典型的“社会工程学”欺骗案件浮出水面。
现在把焦点转向那个维护员。由于安全部门距离李小姐的工作地点有好些距离,管理不方便,所以公司让他们直接通过网络来管理机器,除非是不得不通过物理途径来解决的故障,否则他们一般不用亲自过去。 他与李小姐之间的联系通过QQ进行。问题偏偏就出在QQ上。 作为安全人员,他自然知道密码的重要性,因此他的任何密码都设置得十分复杂,穷举几乎不可能。至于被入侵,那更不可能发生。他还要保护那台重要的电脑呢,自己都保护不了,有什么资格保护别人?然而百密仍有一疏,他做梦也没想到对手利用QQ的取回密码功能轻易拿到了他的密码,然后去联系李小姐„„ 他在输入提示答案的时候,下意识的输入了他心里最重要的那个人的名字。但是对手也知道他心里那个人的名字,这是商业中所谓的“知己知彼”。于是噩梦开始了„„
对于攻击者来说,社会工程学大师往往也是心理学大师,他们会利用人类的一些弱点进行攻击。也许我知道你每天几点上班几点下班,也许我知道你每天会经过哪些地方。也许我拥有大数据能力,分析出某个转弯路口每天几点会有大量车流,也许当我掌握了你的性格。我利用一些震惊的消息(家人出车祸,老婆出轨在哪被查等等)让你乱了分寸,也许我能让车流司机员也刚好方寸大乱。然而我却能提高你在某个路口的事故发生几率,当你被车撞的那一刻,没有人会怀疑到我,这就是社会工程学
相关课程;
- 还没有人评论,欢迎说说您的想法!