当前位置: 首页 > news >正文

专业电商网站海口网站开发师招聘

专业电商网站,海口网站开发师招聘,专业建站网站服务,济南互联网运营公司【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除 背景 接之前 blog 【OS】【Nuttx】【周边】效…

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

接之前 blog
【OS】【Nuttx】【周边】效果呈现方案解析:-print0 补充(上)
【OS】【Nuttx】【周边】效果呈现方案解析:-print0 补充(中)
分析了带转义字符的文件名,以及 ANSI-C 引用语法,还有 ANSI-C,ASCII 与转义规则之间的关系,下面延伸下 -print0 的另一个话题:安全

-print0 补充

首先回到之前 blog
【OS】【Nuttx】【周边】效果呈现方案解析:-print0 选项
的思路,分析了命令

find ~/.vscode-server -path "*/swyddfa.esbonio/sphinx/html" -type d -print0 2>/dev/null

加上 -print0 可以把所有的文件路径都安全地找出来(用 \0 分隔),下面举个例子看下安全和不安全的处理方法

接之前的 blog
【OS】【Nuttx】【周边】效果呈现方案解析:-print0 补充(上)
假设现在 Bash 环境上已经创建了两个文件
在这里插入图片描述
下面在终端中输入处理的安全模式,来看下效果

find . -name "*test*" -print0 | while IFS= read -r -d '' file; doecho "Processing: $file"
done

输出结果如下
在这里插入图片描述
可以看到:

  • 含换行符的文件 ‘./test‘$’\n’‘test.txt’ 被当作一个完整的文件名处理
  • 换行符 \n 是文件名的一部分,所以 echo 处理输出时也换行了,但换行后的内容并没有被单独处理(换行后的内容没有被 Processing)
  • 这就是安全的处理行为:不拆分,不丢失,完整处理

下面再对比下不安全的处理模式,终端中输入

find . -name "*test*" -print | while IFS= read -r file; doecho "Processing: $file"
done

输出结果如下
在这里插入图片描述
可以看到:

  • find -print 用换行符 \n 分隔文件名,但文件名 ‘./test‘$’\n’‘test.txt’ 本身包含换行符 \n
  • 此时 read 把这个异类当成了两个文件:./test,test.txt 处理(都有 Processing),导致一个文件被拆成两个,解析错误

安全漏洞

上面举的例子还都是 echo “Processing: $file” 等打印任务,没什么攻击性,最多处理任务失败,但并不是所有的处理都这么温和没有伤害性,如果有些处理比较激进,但又缺乏安全考虑,可能就会遭受到攻击

实际上,这些文件名中的特殊字符(如空格、换行符、制表符、- 开头等)也是 Shell 脚本中最常见,最隐蔽的安全漏洞来源,下面调整一下上面的不安全处理模式,加上危险操作

find . -name "*test*" -print | while IFS= read -r file; doecho "Processing: $file"rm "$file"
done

此时模拟黑客,创建一个恶意文件名混在正常的文件当中

touch test1.txt test2.txt $'test\nimportant.txt' important.txt

看看会发生什么,在执行命令前,先看下文件夹下内容
在这里插入图片描述

创建了 test1.txt,test2.txt,important.txt,并包含了恶意文件 $‘test\nimportant.txt’

上面经过调整的不安全处理脚本,本意是找到 test 相关的文件,给它删掉
在这里插入图片描述

但执行后,可以看到重要文件 important.txt 也被删掉了!只剩下恶意文件

现在换上安全的处理模式,同样执行相同的命令:将 test 相关的文件找到,并删除

find . -name "*test*" -print0 | while IFS= read -r -d '' file; doecho "Processing: $file"rm "$file"
done

在这里插入图片描述
可以看到恶意文件被删掉了,但重要文件 important.txt 还在

所以最后总结下,使用 -print0 不仅能避免处理失败,还可以预防恶意攻击,在编程的时候,还是要多注意防御式编程,写出安全,鲁棒性好的可靠代码!

-print0 先分析到这儿,后面继续分析呈现方案脚本

http://www.dtcms.com/a/558951.html

相关文章:

  • 宁波网站建设有限公司导购网站开发
  • 什么网站做海报赚钱盐城网站建设设计
  • 网站免费正能量破解版网站开发工资咋样
  • 江苏公司响应式网站建设报价网页是啥
  • AlReader,一款多格式电子书阅读器
  • 如何推广企业官方网站内容瑞安做网站建设
  • 怎样做网站首页网站域名注册申请
  • 利用tex调用csv文件中的数据
  • 硅云网站建设视频wordpress观点
  • 花都建设网站保定厂家推荐信息流推广
  • Python 虚拟环境和包管理
  • 高端网站建设 aspx做衣服的3d软件
  • 网站页面设计怎么做百度知道首页网
  • Day3:自动化脚本与 Lambda
  • 网站制作培训一般要多少钱网页设计的工作
  • 做直播 网站的上市公司北京市建设工程信息网官方网站
  • C++:用红黑数封装实现map,set
  • 手机网站友情链接怎么做和易企秀类似的软件免费的
  • 网站seo外链建设四川seo快速排名
  • 住房和城乡建设部网站预售证公司介绍模板图片
  • 可以做手机网页的网站服装网站建设方法
  • 外卖网站建设费用怎么上传网站源码
  • Linux操作系统母盘便捷持久化部署方案
  • 东莞网站建设优化技术成都网站建设哪家
  • 永久免费的wap建站平台宿松网站建设设计
  • 大连网站怎么推广360seo关键词优化
  • 自己做qq头像的网站中卫企业管理培训网站
  • 大良网站建设如何wordpress的登录地址
  • 番禺建设局网站首页如何给网站做右侧导航栏
  • 如何做响应式的网站外贸做那种网站