最近,我遇到了一个工具,它可以向条形码中注入有效载荷。我怎样才能防止这种攻击呢?
除了上述,是否有任何可能的预防解决办法来防止这类攻击?
发布于 2016-06-23 12:44:38
在检查了代码之后,我不确定它是否可以利用或攻击任何东西。看起来它的唯一目的是使用条形码编码有效载荷。当所有其他路由可能被阻塞时,使用条形码阅读器将代码导入到系统中是一种很好的方法。在系统中找到漏洞后,可以使用这些条形码之一“上载”有效负载。
因此,没有什么可防范的。它正在让条形码扫描器做它应该做的事情:将条形码转换成文本。
发布于 2016-06-23 12:36:36
这与像SQLi这样的攻击非常相似,补救措施也是一样的。
如果您期望字段为20位,则只允许20位数,并在20位之后删除任何数字。如果您期望有8个字母数字,请将其限制在此范围内。
这曾经是一个问题,但早在90年代初,S就已经解决了这个问题。(我曾经做过大量的早期测试,测试来自Telxon、符号等的扫描仪,而这是在SQLi真正被解决之前。我们也必须为各种用例解决这个问题,包括5250和3270终端代码)--在它们攻击设计用来攻击的系统之前就把它们去掉,这样就完全消除了问题。
发布于 2016-06-23 12:46:54
条形码可以被利用,因为事实上,大多数条形码不仅包含数字和字母数字字符,而且还包含完整的ASCII字符(包括特殊字符),这取决于所使用的协议。
条形码扫描器本质上是键盘仿真器,如果它们支持Code128 (支持ASCII控制字符)等协议,攻击者可以创建条形码,在读取时会在发送命令的目标计算机上打开shell提示符。
或者,Ctrl+命令可以通过ASCII代码发送,并可用于触发热键,热键使用Ctrl+前缀注册。攻击者可以使用这些热键浏览计算机的文件系统、启动浏览器或执行目标程序。
因此,如果您想保护自己不受这种类型的攻击,请让您的读者只读标准字符,并排除所有ASCII特别词被处理/解释。许多扫描仪支持多个协议,因此选择一个只有数字和字母数字的协议才能解决这个问题。
https://security.stackexchange.com/questions/127942
复制相似问题