Javascript 注入 PYthon
Javascript Injection with PYthon
我正在尝试使用 python 打开网页,并执行 javascript 注入。目标是实际更改某些表单的值(例如:将数据放入表单中)目前我编写的用于打开页面的测试程序是:
import urllib2 as u
f = u.urlopen("http://www.google.com")
print f.read()
f.close()
所以现在我在考虑注入(在这种情况下打印 Hello world)
import urllib2 as u
f = u.urlopen("http://www.google.com/javascript:alert(\" hello world \")")
print f.read()
f.close()
但是当我 运行 代码时,我收到以下错误:
Traceback (most recent call last):
File "c:\Sid\Rutgers Semester\HackHerz\ChalupaCity\Sid\thefile.py", line 12, in <module>
f = u.urlopen("http://www.google.com/javascript:alert(\" hello world \")")
File "c:\Anaconda\lib\urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "c:\Anaconda\lib\urllib2.py", line 410, in open response = meth(req, response)
File "c:\Anaconda\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "c:\Anaconda\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "c:\Anaconda\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "c:\Anaconda\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
所以我决定探索一下。而且我发现 python 可能会转到名字
的 URL
http://www.google.com/javascript:alert(\" hello world \")
所以我试着分成两行
f = u.urlopen("http://www.google.com/")
f.urlopen("javascript:alert(\" hello world \")")
print f.read()
f.close()
但这也不管用。
如何解决这个问题?最终我希望能够使用 Javascript.
更改表单数据
可能使用 Beautiful Soup?
您可能还希望查看 urllib2 模块或 requests 库来帮助您。
或者您可以尝试在回复服务器之前使用所需的 post 数据更新 HTTP headers。
祝你好运!
我正在尝试使用 python 打开网页,并执行 javascript 注入。目标是实际更改某些表单的值(例如:将数据放入表单中)目前我编写的用于打开页面的测试程序是:
import urllib2 as u
f = u.urlopen("http://www.google.com")
print f.read()
f.close()
所以现在我在考虑注入(在这种情况下打印 Hello world)
import urllib2 as u
f = u.urlopen("http://www.google.com/javascript:alert(\" hello world \")")
print f.read()
f.close()
但是当我 运行 代码时,我收到以下错误:
Traceback (most recent call last):
File "c:\Sid\Rutgers Semester\HackHerz\ChalupaCity\Sid\thefile.py", line 12, in <module>
f = u.urlopen("http://www.google.com/javascript:alert(\" hello world \")")
File "c:\Anaconda\lib\urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "c:\Anaconda\lib\urllib2.py", line 410, in open response = meth(req, response)
File "c:\Anaconda\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "c:\Anaconda\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "c:\Anaconda\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "c:\Anaconda\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
所以我决定探索一下。而且我发现 python 可能会转到名字
的 URLhttp://www.google.com/javascript:alert(\" hello world \")
所以我试着分成两行
f = u.urlopen("http://www.google.com/")
f.urlopen("javascript:alert(\" hello world \")")
print f.read()
f.close()
但这也不管用。
如何解决这个问题?最终我希望能够使用 Javascript.
更改表单数据可能使用 Beautiful Soup?
您可能还希望查看 urllib2 模块或 requests 库来帮助您。
或者您可以尝试在回复服务器之前使用所需的 post 数据更新 HTTP headers。
祝你好运!