在Python';s-sh模
我正在使用Python中的sh模块将curl命令转换为Python,但是我得到了一个错误,因为我在Python中的curl调用中使用了多个F标志 以下是原始的curl代码:在Python';s-sh模,python,curl,Python,Curl,我正在使用Python中的sh模块将curl命令转换为Python,但是我得到了一个错误,因为我在Python中的curl调用中使用了多个F标志 以下是原始的curl代码: curl -u admin:admin -F x=y http://localhost:8080/foo curl -u admin:admin -F :operation=copy -F :dest=/foo/bar http://localhost:8080/foo 我的代码在这里: def exploit(url,
curl -u admin:admin -F x=y http://localhost:8080/foo
curl -u admin:admin -F :operation=copy -F :dest=/foo/bar http://localhost:8080/foo
我的代码在这里:
def exploit(url, username, password):
sh.curl(url, F = "x=y", u = "%s:%s" %(username, password))
sh.curl(url, F = ":operation=copy", F = ":dest=/foo/bar", u = "%s:%s" %(username, password))
def main():
#default username and password is admin:admin
username = "admin"
password = "admin"
exploit("http://localhost:8080/foo", username, password)
以下是错误消息:
File "/Users/Winston/Desktop/sling_exploit.py", line 7
sh.curl(url, F = ":operation=copy", F = ":dest=/foo/bar", u = "%s:%s" %(username, password))
SyntaxError: keyword argument repeated
有人能帮我找到解决办法吗?任何帮助都将不胜感激。谢谢。我用PyCurl为感兴趣的人找到了答案
def exploit(url, username, password):
c = pycurl.Curl()
c.setopt(c.URL, url)
data = [
('x', 'y')
]
c.setopt(c.HTTPPOST, data)
c.setopt(pycurl.USERPWD, username + ':' + password)
c.perform()
data_2 = [
(':operation', 'copy'),
(':dest', '/foo/bar')
]
c.setopt(c.HTTPPOST, data_2)
c.perform()
c.close()
def main():
#default username and password is admin:admin
username = "admin"
password = "admin"
exploit("http://localhost:8080/foo", username, password)
从文档中看,这似乎不是
sh
支持的用法。