一份试卷引发的思索

2024-03-17 01:48
文章标签 引发 试卷 一份 思索

本文主要是介绍一份试卷引发的思索,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


作者:长短短
链接:https://zhuanlan.zhihu.com/p/24216611
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

试 卷

姓名________ 学号________

首先我们来看这个,试卷的名字和编号填写,这个部分有“漏洞”吗?

学生的姓名和编号都写在这儿,没有做任何保护措施,因此,你只要偷看了某人的试卷上的这部分内容,然后把你的试卷的上的姓名和考生编码写成和他一样的即可伪装出他的身份。

漏洞攻击成功

一、诗歌补写

1 床前没月光,___________。

2 春眠不觉晓,___________。

这道题有漏洞吗?

这道题的答案本来应该是“疑似地上霜”和“处处闻啼鸟”

But,问题中,并没有规定答案里不能添加标点符号,所以,我完全可以把“疑是地上霜,举头望明月,低头思故乡”以及“处处闻啼鸟,夜来风雨声,花落知多少”当做答案写进去。

漏洞再次进攻成功 :P

二、数学运算(在括号内填入数字)

3 500 + 400 * 3 / 2 + 1 = ( )

4 ( 1 + 2 ) / 3 * 400 +500 = ( )

这个问题有漏洞吗?

出题者规定了只能填入数字,但却没有说是什么数字,也没有规定多少位,那么我的答案可以是 中文数字「壹佰壹拾圆」、罗马数字「MCI」或「0000000000001101」。

漏洞第三次进攻成功 :D

三、技术实践

我们打开一个网页提交登录或者是搜索都会经过服务器做一系列的处理又回到浏览器,在这个过程中我们提交的数据会被带入到一系列的填空题中,有的是我们能猜到的,有的是意想不到的,有的会经过SQL进行查询进行填空,有的会被带入到命令行中进行填空,最后又把结果返回给浏览器进行填空,也最后就是我们到的结果了。

  • 用户登录 SQL 注入填空
    • Q:select * from username = ____ and password=_____
    • A:select * from username = "test" or ""="" and password="123456"
    • 解释:所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
  • 用户名 XSS 注入填空
    • Q:<p style='color:red'>你好啊,尊敬的______<p>
    • A:<p style='color:red'>你好啊,尊敬的 xxx<script>alert(1)</script><p>
    • 解释:攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
  • 远程命令注入填空
    • Q:ping _______
    • A:ping www.baidu.com & wget xxxxxxxxxxx
    • 解释:用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致执行命令。
  • Cookie 身份越权测试
    • Cookie: uid=11426;
    • Cookie: uid=1;
    • 解释:越权漏洞是比较常见的漏洞类型,可以理解为,一个正常的用户A通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽未对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,可以导致用户A可以操作其他人的信息。​

了解了这几个漏洞之后我们可以看到原理都类似,也很简单,当然我们不再局限于概念名词就会发现 web 安全的大部分漏洞都很简单。更多时候,发现一个复杂的漏洞需要是只是耐心。

这篇关于一份试卷引发的思索的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/817429

相关文章

一道算法题引发的动态内存管理的思考

在做PKU2762时,需要建邻接表。 于是按部就班写了下面一个插入边到邻接表中的函数: const int VMAX = 1010;typedef struct Graph{int vex;Graph* next;}Graph;Graph ArcGraph[VMAX];void insert(int u, int v){Graph* t = new Graph;Graph*

引发蛀牙、避免蛀牙食物大全

引发蛀牙、避免蛀牙食物大全 引发蛀牙的食物大全: 糖果 糖浆 糖果棒 巧克力 碳酸饮料 果汁 口香糖 蜂蜜 蛋糕 甜点 薯片 脆饼干 果酱 果冻 蜜饯 蜜饯果干 避免蛀牙的食物大全: 高纤维蔬菜 水果 坚果 种子 高钙乳制品 高蛋白质肉类 高蛋白质鱼类 绿茶 水 蔬菜汤 鸡汤 酸奶 酸奶制品 奶酪 红薯 土豆 面包和全麦面包 芝士

捉虫笔记(四)-- 空格引发的悬案

空格引发的悬案 1、描述现象: 在代码中有一段利用rmdir指令删除目录代码,但是有用户反馈一直删除失败,但是有没有看到错误的日志信息,正好有同事能复现,所以今天好好探究一番。 2、思考过程 很好奇的一点就是为什么有的环境就是正常。 首先想到2个问题: ①代码有没有执行。 ②假如执行,有没有错误。 关于这两个问题都有个难点,我该如何下断点: 2.1、分析代码是否执行 删除目录的

“苹果税”引发的苹果与腾讯、字节跳动之间的纷争与博弈

北京时间9月10日凌晨一点的Apple特别活动日渐临近,苹果这次将会带来iPhone16系列新品手机及其他硬件产品的更新,包括iPad、Apple Watch、AirPods等。从特别活动的宣传图和宣传标语“閃亮時刻”来看,Apple Intelligence将会是史上首次推出,无疑将会是iOS 18的重头戏和高光时刻。 不过就在9月2日,一则“微信可能不支持iPhone16”的

网工必知的《网络端口号大全》,看这一份足够了

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 咱作为网工,了解和掌握常用的网络端口知识可以说是必不可少的技能。 熟悉各类网络服务和应用程序所使用的端口,可以帮助我们在工作里更高效地配置网络设备、优化网络性能、诊断网络故障等。 在遇到无法访问某个网络服务的问题时,检查相关端口的状态往往是排查问题的第一步。 今天就来说说端口这

Navicat导入时由分号引发的诡异问题

最近在将第三方提供的一个sql导入到自己的数据库的时候,(Event部分的脚本)总是提示错误: [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near

由一个 SwiftData “诡异”运行时崩溃而引发的钩深索隐(一)

概述 从 WWDC 23 开始,苹果推出了全新的数据库框架 SwiftData。它借助于 Swift 语言简洁而富有表现力的特点,抛弃了以往数据库所有的额外配置文件,只靠纯代码描述就可以干脆利索的让数据库的创建和增删改查(CRUD)一气呵成。 在本系列博文中,我们将从一个简单而“诡异”的运行“事故”开始,有理有据的深入探寻一番 SwiftData 中耐人寻味的“那些事儿”。 在本

Redis的incr命令引发的反序列化异常和ERR value is not an integer or out of range异常

在Java中使用inc命令的时候发现redis中的值被反序列化后居然不是数字,检查后发现可能是序列化器没对,在redis配置的地方将序列化器设置为 Jackson2JsonRedisSerializer后使用整成,贴上代码 @Bean(name = "RedisTemplate")@SuppressWarnings("all")public RedisTemplate<String,

如何制作一份可以快速拿下国外客户的报价表(附报价单模板)

做外贸报价技巧是每个外贸业务员必须学会的一个东西,外贸报价也是有很多技巧何需要注意的地方,今天就来给大家分享一下,如何制作一个让国外客户快速下单的报价表。这个是外贸小白变销冠的第六篇--报价篇,建议收藏,文末有报价单模板。 往期回顾:如何从外贸小白如何变成外贸销冠 往期回顾:外贸干货:如何写出一封高回复率的开发信 往期回顾:如何高效回复国外客户,让客户快速下单 往期回顾:做外贸如何判断国外

Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent;删除growingio引发的问题

删除了 growingio之后 项目一直报这个错误 Failed resolution of: Lcom/growingio/android/sdk/agent/VdsAgent; 真是讨厌 解决方案 在as 的 Terminal 分别执行这两个命令 ./gradlew cleanBuildCache  ./gradlew clean 如果在使用上面两个命令的时候出现 权限拒绝