我有一个python应用程序,可以使用URL列表,并生成bash脚本作为输出。
如何清理URL,以便恶意用户无法注入将在我的基础结构上执行的bash命令。
例如:
http://www.circl.lu/a.php?rm -Rf /etc
我想urllib
是一个解析网址的选项,以逃避有害的角色。至少它看起来像是一个很好的资源用于你的用例。参见url-quoting的文档。
from urllib.parse import quote
quote('touch foo', safe='/')
quote('rm -Rf /etc', safe='/')
quote('http://www.circl.lu/a.php?rm -Rf /etc', safe='/:?&')
#'touch%20foo'
#'rm%20-Rf%20/etc'
#'http://www.circl.lu/a.php?rm%20-Rf%20/etc'