我在Python中有一个服务器/客户机套接字对。服务器接收特定的命令,然后准备响应并将其发送到客户端。在

在这个问题中,我关心的只是代码中的可能的注入:如果可以要求服务器对第二个参数做一些奇怪的事情——如果对命令内容的控制不足以避免不希望发生的行为。在

编辑:根据收到的建议

在windows上调用check_output时添加了参数shell=True。不应该是危险的,因为命令是一个普通的'dir'。在

一。在self.client, address = self.sock.accept()

...

cmd = bytes.decode(self.client.recv(4096))

ls:执行系统命令,但只读取目录的内容。在

^{pr2}$

cd:只调用os.chdir。在elif cmd.startswith('cd '):

path = cmd.split(' ')[1].strip()

if not os.path.isdir(path):

self.client.send(b'is not path')

else:

os.chdir(path)

self.client.send( os.getcwd().encode() )

get:将文件内容发送到客户端。在elif cmd.startswith('get '):

file = cmd.split(' ')[1].strip()

if not os.path.isfile(file):

self.client.send(b'ERR: is not a file')

else:

try:

with open(file) as f: contents = f.read()

except IOError as er:

res = "ERR: " + er.strerror

self.client.send(res.encode())

continue

... (send the file contents)

python代码安全性问题_这个python代码对注入安全吗?相关推荐

  1. python基础教程微信_用Python实现让微信地球转起来附代码!

    微信地球 手机重启后打开微信的一瞬间,会看到一幅有名的图片. 大概是站在月亮上看地球的效果. 你有没有想过,如果上面那个地球转起来会是怎样? 素材 这里有两个表面素材,一个是地球表面素材,一个是云图素 ...

  2. python的代码有哪些_简单python代码类型有哪些?

    简单python代码类型有哪些? 简单python代码类型有: 1.[背景] 最近,派大星想要减肥,他决定控制自己的饮食,少吃一点蟹黄堡. 海绵宝宝为了帮助好朋友派大星,和派大星一起制定了一个饮食游戏 ...

  3. python 预编译加速_让Python代码运行更快的最佳方式

    Python因其强大.灵活且易于使用等特性,而赢得了声誉.这些优点使其在各种各样的应用程序.工作流程和领域中得到了广泛应用.但是就语言的设计,也就是它天然的解释能力还有它的运行时的动态性而言,Pyth ...

  4. python送心小人_使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  5. python测试代码与模块_测量Python代码运行时间

    Python 社区有句俗语: "python自己带着电池" ,别自己写计时框架. Python 2.3 具备一个叫做 timeit 的完美计时工具可以测量python代码的运行时间 ...

  6. python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克

    世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...

  7. python包裹和运费_这个Python库真的太好用了,10行代码就能轻松搞定目标检测

    目标检测是指计算机和软件系统对图像或场景中的目标进行定位和识别的任务. 目标检测已广泛应用于人脸检测.车辆检测.人流量统计.网络图像.安防系统和无人驾驶等多个领域. 早期目标检测的实现基于经典算法,比 ...

  8. python小人画爱心_使用Python画出小人发射爱心的代码

    我就废话不多说了,直接上代码吧! #2.14 from turtle import * from time import sleep def go_to(x, y): up() goto(x, y) ...

  9. gallery代码怎么运行_自学Python进阶-把代码变成程序、软件

    之前的几篇,我们一起认识了python语言(python语言里有哪些东西),见识python代码(三种核心语句.程序代码里的记忆体:变量),并用python语言解决了几个著名的常见数学问题(百钱百鸡问 ...

最新文章

  1. 2021年6月程序员平均工资 15052,你给行业拖后腿了吗?
  2. 自学python后能干什么-学Python后能干什么 郑州Python就业怎么样
  3. IntelliJ IDEA自动部署
  4. cannot bind to cxOutlet since it is not a known property of ng template
  5. asp.net 将bmp格式图片怎么转换为jpg_Heic图片转换精灵-Heic图片高清转换JPG/PNG/BMP方法...
  6. OpenStack网络的下一步原来这么走 | 技术头条
  7. 记忆集、卡表、G1垃圾收集器简介
  8. Accept是又产生一个Socket端口吗?
  9. ZendFramework-2.4 源代码 - 整体架构(类图)
  10. sql 根据省份证号码提取年龄
  11. java append concat_最佳实践/性能:将StringBuilder.append与String.concat混合使用
  12. 微信小程序-婚礼邀请函页面
  13. 使用函数提取姓别和出生日期:
  14. 大吉大利今晚吃鸡——枪械篇
  15. [河内塔]汉诺塔实现
  16. 组策略怎么禁用计算机管理,【组策略来禁止电脑打开控制面板】
  17. vue下载excel表格模板和导入excel表格数据
  18. java ssm框架调用微信_Java开发SSM框架微信退款的实现
  19. 出自ios深入浅出专栏(内购)
  20. 数据在网络中是如何传输的

热门文章

  1. 计算器软件C语言课程设计实验报告,c简单计算器实验报告_相关文章专题_写写帮文库...
  2. 将你一张表的值覆盖_山西联通携手华为完成长风商务区宏微协同,立体覆盖,打造5G精品网络...
  3. Ubuntu主题更换
  4. 1096: 字符逆序
  5. 【转】Kotlin 新版来了,支持跨平台!
  6. Eclipse安装试用Hanlp
  7. 博弈论 斯坦福game theory stanford week 3.2_
  8. java.util (Collection接口和Map接口)
  9. 第二个冲刺期的第六天
  10. LINUX学习笔记共五部分