请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于重定向问题

老师,最后一个web_submit_data提交,这边是一个302重定向,我设置了不允许重定向,但是发现帖子没有创建成功。如果设置允许重定向,会出现OWASP_CSRFTOKEN字段,前后不一致。这边代码应该如何修改呢?(现在如果单单执行登录的话是没问题的。)

下面是脚本:

Action()
{

/*请求头*/
web_add_header("Accept",
	"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
web_add_header("Upgrade-Insecure-Requests",
	"1");
web_add_header("User-Agent",
	"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3650.400 QQBrowser/10.4.3400.400");

web_add_auto_header("Accept-Language",
	"zh-CN,zh;q=0.9");
web_add_header("Cookie","JSESSIONID=3E8A7B086FEA6AE76292E2E0D3ED7FC5; jforumUserId=1");


web_reg_save_param("OWASP_CSRFTOKEN", "LB=OWASP_CSRFTOKEN\" value=\"", "RB=\"", "Search=Body", LAST);

/*进入登录页面*/
web_custom_request("enter_login",
	"URL=http://XXXX/jforum-2.6.1/user/login.page",
	"Method=GET",
	"TargetFrame=",
	"Resource=0",
	"Referer=",
	"Mode=HTTP",
	"EncType=text/html",
	"Body=",
	LAST);

lr_output_message("OWASP_CSRFTOKE----%s",lr_eval_string("{OWASP_CSRFTOKEN}"));


/*
web_reg_save_param("username", "LB=[", "RB=]</a>", "Search=Body", LAST);
*/

/*登录系统*/
web_submit_data("login",
	"Action=http://XXXX/jforum-2.6.1/jforum.page",
	"Method=POST",
	"TargetFrame=",
	"Referer=",
	"Mode=HTTP",
	ITEMDATA,
	"Name=module", "Value=user", ENDITEM,
	"Name=action", "Value=validateLogin", ENDITEM,
	"Name=OWASP_CSRFTOKEN", "Value={OWASP_CSRFTOKEN}", ENDITEM,
	"Name=returnPath", "Value=http://XXXX/jforum-2.6.1/forums/list.page?OWASP_CSRFTOKEN={OWASP_CSRFTOKEN}", ENDITEM,
	"Name=username", "Value=admin", ENDITEM,
	"Name=password", "Value=123456", ENDITEM,
	"Name=redirect", "Value=", ENDITEM,
	"Name=login", "Value=登入", ENDITEM,
	LAST);
/*
lr_convert_string_encoding(lr_eval_string("{username}"),"utf-8",NULL,"username_msg");
lr_output_message("用户名----%s",lr_eval_string("{username_msg}")); 
*/

/*提交帖子
/*不使用重定向*/
/*web_set_option("MaxRedirectionDepth","1",LAST);*/
web_submit_data("submit_article",
	"Action=http://XXXX/jforum-2.6.1/jforum.page?OWASP_CSRFTOKEN={OWASP_CSRFTOKEN}",
	"Method=POST",
	"TargetFrame=",
	"Referer=",
	"Mode=HTTP",
	ITEMDATA,
	"Name=action", "Value=insertSave", ENDITEM, 
	"Name=module", "Value=posts", ENDITEM, 
	"Name=preview", "Value=0", ENDITEM, 
	"Name=OWASP_CSRFTOKEN", "Value={OWASP_CSRFTOKEN}", ENDITEM, 
	"Name=forum_id", "Value=3", ENDITEM, 
	"Name=start", "Value=", ENDITEM, 
	"Name=subject", "Value=new test", ENDITEM, 
	"Name=addbbcode32", "Value=black", ENDITEM, 
	"Name=addbbcode34", "Value=12", ENDITEM, 
	"Name=helpbox", "Value=ww", ENDITEM, 
	"Name=message", "Value=testing", ENDITEM, 
	"Name=disable_html", "Value=on", ENDITEM, 
	"Name=attach_sig", "Value=on", ENDITEM, 
	"Name=notify", "Value=on", ENDITEM, 
	"Name=topic_type", "Value=0", ENDITEM, 
	"Name=poll_label", "Value=", ENDITEM, 
	"Name=poll_option", "Value=", ENDITEM, 
	"Name=poll_option_1", "Value=", ENDITEM, 
	"Name=poll_length", "Value=0", ENDITEM, 
	"Name=poll_option_count", "Value=1", ENDITEM, 
	LAST);

web_custom_request("ert",
	"URL=http://XXXX/jforum-2.6.1/posts/list/0/34.page#p35?OWASP_CSRFTOKEN={OWASP_CSRFTOKEN}",
	"Method=GET",
	"TargetFrame=",
	"Resource=0",
	"Referer=",
	"Mode=HTTP",
	"EncType=text/html",
	"Body=",
	LAST);


return 0;

}

设置了不允许重定向,lr返回的信息设置了允许重定向,但是OWASP_CSRFTOKEN不一致

下面几张是页面请求的截图
图片描述图片描述
图片描述

正在回答 回答被采纳积分+3

4回答

提问者 forkey 2019-08-06 11:27:23

请求结果跟手动添加调取302后的请求了, 帖子还是创建不成功

https://img1.sycdn.imooc.com/szimg/5d48f36109367afd15140760.jpg

0 回复 有任何疑惑可以回复我~
  • 这个不是系统的问题,还是请求的问题。你手动跟着这个,自己在浏览器模拟一轮,看看返回和逻辑
    回复 有任何疑惑可以回复我~ 2019-08-06 11:32:20
  • 提问者 forkey 回复 风落几番 #2
    老师,我已经解决问题了。 帖子发送不成功是因为发帖子页面是一个重新打开的Tab标签页,这时候需要重新获取token,传递给后面的发帖子请求才可以,如果采用之前的token就会出现token不一致的现象。
    回复 有任何疑惑可以回复我~ 2019-08-06 12:28:27
  • 风落几番 回复 提问者 forkey #3
    好的 解决就好?
    回复 有任何疑惑可以回复我~ 2019-08-06 15:31:15
提问者 forkey 2019-08-06 11:05:20

不使用重定向的话,不会报错,但是帖子没有创建成功。

https://img1.sycdn.imooc.com/szimg/5d48ee4d098a3d8f18090973.jpg

0 回复 有任何疑惑可以回复我~
  • 手动调一遍看一下请求的详细返回~然后手动加一个302之后的请求试试
    回复 有任何疑惑可以回复我~ 2019-08-06 11:07:11
风落几番 2019-08-06 02:02:51

可以改成不跟随重定向 手动发新请求跳转试一下 你关联对了的话 不跟随重定向也不会报错 可以成功提交才对

0 回复 有任何疑惑可以回复我~
  • 提问者 forkey #1
    老师,请看下我刚才添加的回答,不使用重定向的话,不会报错,但是帖子没有创建成功。
    回复 有任何疑惑可以回复我~ 2019-08-06 11:05:40
风落几番 2019-08-05 22:28:16

找到csrftoken生成的请求 做关联 现在写死这样肯定是不行的

0 回复 有任何疑惑可以回复我~
  • 提问者 forkey #1
    老师,token我已经手动关联好了,上面的脚本已经更新了,但是还是存在跟上面同样的问题。最后那个重定向的关联我不知道怎么处理?
    回复 有任何疑惑可以回复我~ 2019-08-06 00:41:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信