论漏洞和自动化脚本的区别

简介:

什么是漏洞?

我先抄一段百度百科。

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。

摘取其中的三个关键点:

1、系统缺陷

2、能被未授权利用

3、利用后能达到某种目的或效果

我们来举几个利用漏洞买月饼的思路(漏洞实例与截图均来自于互联网):

1、篡改金额

实例:某平台订单支付时的总价未验证漏洞(支付逻辑漏洞)

很多系统在设计的时候,未对商品的价格进行校验。导致你提交的购买的http包内说这个商品价格多少钱,系统就会认为这个商品多少钱。从而造成漏洞。

比如说,你在某个平台购买了一个商品,价值21元,然后点击确认,会跳转到第三方平台进行支付。

在这个跳转的过程中,截获http包,在数据包中找寻代表金额价格的参数字段,修改参数值,比如改为1。

如果系统未做校验,那么最终支付的价格就是1,也就是你可以花一块钱,买到21块甚至更高价格的商品。最终支付的价格你也可以改成0,甚至改成负数,有的系统做的不好,在用系统币购买东西的时候将金额改成负数,反而会造成你账号内的余额增加的情况。

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

相关文章
|
28天前
|
jenkins 持续交付
Jenkins自动化部署脚本
Jenkins自动化部署脚本
28 0
|
1月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
45 1
|
2月前
|
Python
【速看】如何通过合理的封装,让你的自动化脚本更上一层楼!
【速看】如何通过合理的封装,让你的自动化脚本更上一层楼!
|
2月前
|
Shell 测试技术
Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?
Airtest如何自动连接重启后的设备并继续执行自动化脚本呢?
|
3月前
|
监控 安全 Shell
Shell脚本实现企业电脑屏幕监控的自动化部署与维护
企业信息安全一直是重要的议题,而屏幕监控是一种有效的手段之一。本文将介绍如何使用Shell脚本实现企业电脑屏幕监控的自动化部署与维护,并在结尾部分说明如何将监控到的数据自动提交到指定网站。
213 1
|
3月前
|
Shell Linux
shell 脚本常用于自动化执行文件备份与压缩的任务
shell 脚本常用于自动化执行文件备份与压缩的任务
29 1
|
3月前
|
Unix Shell Linux
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
在Unix/Linux操作系统中,Shell脚本广泛用于自动化任务
26 2
|
2天前
|
Linux Shell Android开发
自动化脚本之GPIO/LED相关适用于Android/Linux
自动化脚本之GPIO/LED相关适用于Android/Linux
13 0
|
15天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
【4月更文挑战第9天】本文探讨了Python在自动化测试中的应用,强调其作为热门选择的原因。Python拥有丰富的测试框架(如unittest、pytest、nose)以支持自动化测试,简化测试用例的编写与维护。示例展示了使用unittest进行单元测试的基本步骤。此外,Python还适用于集成测试、系统测试等,提供模拟外部系统行为的工具。在脚本编写实践中,Python的灵活语法和强大库(如os、shutil、sqlite3、json)助力执行复杂测试任务。同时,Python支持并发、分布式执行及与Jenkins、Travis CI等持续集成工具的集成,提升测试效率和质量。
|
27天前
|
运维 监控 Linux
linux脚本自动化运维任务
Linux自动化运维通过脚本提升效率,涵盖服务管理(启停服务、异常恢复)、系统监控(资源警报)、日志管理(清理分析)、备份恢复、补丁更新、自动化部署(如Ansible)、网络管理、定时任务(cron)和故障排查。结合shell、Python及工具,形成高效运维体系。
21 3

热门文章

最新文章