什么是漏洞?
我先抄一段百度百科。
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。
摘取其中的三个关键点:
1、系统缺陷
2、能被未授权利用
3、利用后能达到某种目的或效果
我们来举几个利用漏洞买月饼的思路(漏洞实例与截图均来自于互联网):
1、篡改金额
实例:某平台订单支付时的总价未验证漏洞(支付逻辑漏洞)
很多系统在设计的时候,未对商品的价格进行校验。导致你提交的购买的http包内说这个商品价格多少钱,系统就会认为这个商品多少钱。从而造成漏洞。
比如说,你在某个平台购买了一个商品,价值21元,然后点击确认,会跳转到第三方平台进行支付。
在这个跳转的过程中,截获http包,在数据包中找寻代表金额价格的参数字段,修改参数值,比如改为1。
https:// qr.alipay.com/pmq4i2g7r zhxp02h1e (二维码自动识别)
2、篡改商品编号
实例:某积分商城支付漏洞再绕过
比如说现在商城有好多种商品,有的随便什么人都可以买,有的需要注册会员可以买,那么这种情况下,如果系统权限校验的不好,那么我就可以通过在商城中买low点的商品,然后截获网络包,在网络包中更改商品类型,把low的商品改成高级的商品,从而绕过普通人不能购买高级商品的限制。
在商城中看中了一个高级的鼠标,但是需要30积分
积分不够,无法购买,先买一个低积分的商品,然后修改商品id,换成鼠标的id
购买成功。
3、业务乱序,绕过支付步骤
实例:某分站逻辑错误可绕过支付直接获得取票密码
比如说,一次正确的购买步骤包括:
1、提供相关信息,包括账号,商品
2、进行支付
3、支付成功,返回交易凭证。
如果业务逻辑处理的不好,第三步返回交易凭证的时候,系统没有对支付是否成功进行校验,那么就可以构造数据包,直接跳过支付过程,获取交易的凭证。
在系统上购买了两张电影票
截包,修改字段,跳过支付步骤
直接跳回到取票页面
凡是利用支付漏洞或者业务逻辑漏洞来获利的情形,必然都会满足系统本身存在缺陷,利用过程存在未授权情况,利用者通过使用缺陷获利或达到目的这三个特征。
那么什么是自动化脚本呢?
自动化脚本,就是通过编写代码,将本来需要认为进行的重复操作,通过代码来自动进行。它在很多情况下,是不涉及系统缺陷的利用的,只是将人需要进行的手工操作,通过机器来进行了自动化而已,是程序猿提高日常工作效率的一种常见手段。
比如:
老板让我给他一个从0计数到1000的文件,我当然不可能1,2,3…一个数字一个数字打进去,那得打到什么时候啊,我肯定用程序循环递增然后把结果写入文件。
with open('result.txt','wb')as f: for i in range(1,1001): f.write(str(i)+'\n')
这就可以称得上是自动化脚本了!涉及漏洞吗?不涉及!涉及系统缺陷吗?不涉及!他只是程序猿通过编码,让机器代替人手动的重复工作而已!
再比如,我想每天尽早的看到了轮子哥今天带逛了什么内容,我当然不可能时时刻刻的去刷轮子哥的timeline对不对?那我可以写个代码啊,每10分钟去抓一次轮子哥主页的内容,看看有没有更新,如果有,看看更新里有没有图片,如果有图片,把图片存下来,并且给我发送提醒。(下个月有空了真可以考虑开发一个。。)
这叫自动化脚本!它的本质是通过代码让机器代替人工!
科普完了,说点感想,以下感想均为个人看法,不代表团队观点,请勿曲解。
我觉得,现在大众的眼中,安全人员被妖魔化了,一看到安全人员就会觉得浑身紧张,仿佛安全人员动不动就能盗刷你银行卡,看你微信,霸你房产,抢你老婆。所以啊,恨不得你们这群人都被栓的死死的才好,这样我才能人财“安全”。
那么为什么会出现这种偏见呢,还是安全常识及相关知识普及的不够。因为不懂,所以神秘,因为不懂,所以恐惧。
我觉得安全从业者们可以通过不同的平台,对大众进行一些深入浅出的安全科普,提高大众的安全意识和认知,增进普通人对信息安全的了解。
我也想继续通过大事件这个平台,做一点微小的科普工作,不足的地方,还请大家指正。
作者:佚名
来源:51CTO