gpt4 book ai didi

python - 脚本访问 WebGoat url?

转载 作者:太空宇宙 更新时间:2023-11-04 01:43:35 30 4
gpt4 key购买 nike

我一直在为一个 uni-lab 问题解决几个 WebGoat 示例。在其中一个练习中,我尝试使用带有 urllib2 的 python 脚本来进行自动化“测试”,因此我不必手动使用 ascii(substr(first_name,3,1)) > 97 等。

但我似乎得到了相同的页面,尽管我在使用 urllib2 脚本 aka f2 时尝试了不同的 url,f3 和 f4.html 都是基本的第一页,而不是同一个页面,就像你在浏览器中访问它一样:

import urllib2 
import urllib
import cookielib
import sys


myjar = cookielib.FileCookieJar("cookies.txt");

cookieHandler = urllib2.HTTPCookieProcessor(myjar)

password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
tlurl="http://localhost:8081/webgoat/attack"

password_mgr.add_password(None,tlurl,user="guest",passwd="guest")
authhandler = urllib2.HTTPBasicAuthHandler(password_mgr)
opener = urllib2.build_opener(cookieHandler, authhandler)
data = [('Connection','keep-alive'),('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; da; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7')]



def write_f_to_f(fname,f):
f1 = open(fname,"w")
f1.write(f.read())
f1.close()

def gen_req(url,referer=None):
req = urllib2.Request(url)
print "url: %s"%url
mydata = data
if referer != None:
mydata.append( ('Referer',referer) )
[ req.add_header(k,v) for k,v in mydata ]
return req


sys.stdout.flush()
url = "http://localhost:8081/webgoat/attack"
req = gen_req(url)
f = opener.open(req)
write_f_to_f("f1.html",f)
f.close()

params = urllib.urlencode({'start':'Start WebGoat'})
qs = urllib.urlencode( {'Screen':107, 'menu':1200 } )
url = "http://localhost:8081/webgoat/attack"
req = gen_req(url,url)
f = opener.open(req, params)
write_f_to_f("f2.html",f)
f.close()

ourl = url
url = "http://localhost:8081/webgoat/attack?%s"%qs
req = gen_req(url,ourl)
f = opener.open(req)
write_f_to_f("f3.html",f)
f.close()


ourl = url
url = "http://localhost:8081/webgoat/attack?%s"%qs
req = gen_req(url,ourl)
f = opener.open(req)
write_f_to_f("f4.html",f)
f.close()

注意:我以“艰难的方式”完成了作业的答案并交了上去。现在我很好奇是什么机制阻止了 urllib 脚本访问内容

我尝试使用 webgoat 访问我的本地 tomcat,webgoat 控制台显示:

Sat Feb 13 12:31:14 CET 2010 | 127.0.0.1:127.0.0.1 | org.owasp.webgoat.session.ErrorScreen | [Screen=107,menu=1200]
errorscreen createContent Error:null message:Invalid screen requested. Try: http://localhost/WebGoat/attack
- WebGoat: Sat Feb 13 12:31:14 CET 2010 | 127.0.0.1:127.0.0.1 | org.owasp.webgoat.session.ErrorScreen | [Screen=107,menu=1200]
Sat Feb 13 12:31:14 CET 2010 | 127.0.0.1:127.0.0.1 | org.owasp.webgoat.session.ErrorScreen | [Screen=107,menu=1200]

据我所知,它并没有真正帮助我。

最佳答案

是否正在检查用户代理?在获得过去的检查之前,我必须为典型的浏览器指定一个用户代理。您在“数据”变量中列出了一个,但看起来您实际上并未以任何方式应用它。

关于python - 脚本访问 WebGoat url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255721/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com