Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

由于 waf 拦截造成的提交异常 reset 解决方案 #837

Closed
heywji opened this issue May 29, 2022 · 10 comments
Closed

由于 waf 拦截造成的提交异常 reset 解决方案 #837

heywji opened this issue May 29, 2022 · 10 comments

Comments

@heywji
Copy link

heywji commented May 29, 2022

经过测试,我发现平台会在 submit.php 出现问题。主要原因是学生提交的代码不包含 while 循环判断,更改为使用 for 循环页面依然会被 reset 掉。想问是否可以取消掉这个判断呢,或者说如何让平台支持 test.in test.out 只有一组数据的判断(一组数据不需要循环来实现)。

@zhblue
Copy link
Owner

zhblue commented May 29, 2022

不太明白你在说什么?能贴图么?
如果是莫名奇妙的被reset,可能是贵校网络中心的WAF干的,你可以考虑找网络中心的老师给OJ服务器开个白名单。
或者试试去激活$OJ_ENCODE_SUBMIT
https://gitee.com/zhblue/hustoj/blob/master/trunk/web/include/db_info.inc.php#L61

@MX-Qulin
Copy link

MX-Qulin commented May 29, 2022 via email

@heywji
Copy link
Author

heywji commented May 29, 2022

抱歉,我想我说的不是很明白。我想这个视频会比较直观一些。
https://user-images.githubusercontent.com/17078378/170863046-61a6486f-3a87-4aea-8d81-b774c6fe5942.mp4

@heywji
Copy link
Author

heywji commented May 29, 2022

在我开启$OJ_ENCODE_SUBMIT功能,且选择 ENCODE 提交后。问题依旧。

不太明白你在说什么?能贴图么? 如果是莫名奇妙的被 reset,可能是贵校网络中心的 WAF 干的,你可以考虑找网络中心的老师给 OJ 服务器开个白名单。 或者试试去激活 $OJ_ENCODE_SUBMIT https://gitee.com/zhblue/hustoj/blob/master/trunk/web/include/db_info.inc.php#L61

@zhblue
Copy link
Owner

zhblue commented May 29, 2022

连接已重置这个现象,单纯的web服务器是不会给出的。
这是因为在你和服务器中间还有第三者,就是我之前说的WAF,它是Web服务器的保护者,当你发送的代码被当作恶意程序的时候,就会伪造一个TCP的reset帧发给你,让你跟服务器断开。这种问题不是我们能够解决的,你需要去跟网络管理人员反馈。

你可以在demo.hustoj.com提交一样的程序来测试,这边运行的就是当前最新版本的程序。
你也可以尝试通过服务器的sshd来进行端口转发,把对你自己电脑的80端口的访问映射到服务器80上去,然后访问http://127.0.0.1来进行测试,这时所有的数据经过ssh加密的保护,你应该就能够看到真实的运行效果,而不是WAF给你伪造的reset。
image

@heywji
Copy link
Author

heywji commented May 29, 2022

感谢,确实是学校 waf 造成的。

@heywji heywji closed this as completed May 29, 2022
@MX-Qulin
Copy link

MX-Qulin commented May 29, 2022 via email

@MX-Qulin
Copy link

MX-Qulin commented May 29, 2022

https://github.com/zhblue/hustoj/edit/master/wiki/FAQ.md

2022年5月29日 19:00,季文康 @.***> 写道: 感谢,确实是学校 waf 造成的。 — Reply to this email directly, view it on GitHub <#837 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJOOJ5KRP2PZLHPXK2VHRGTVMNE4BANCNFSM5XHRRYYQ. You are receiving this because you commented.
好的 感谢你的反馈, 已加入常见问题排查...

@zhblue pull request

@MX-Qulin
Copy link

@erlinux 不过还是建议你修改一下这个ISSUE的标题, 毕竟我在FAQ里引用了, 别人点过来看 容易引起误解

@heywji
Copy link
Author

heywji commented May 29, 2022

好的,我来更改下。

@erlinux 不过还是建议你修改一下这个 ISSUE 的标题,毕竟我在 FAQ 里引用了,别人点过来看 容易引起误解

@heywji heywji changed the title 请问是否可以去掉 while 循环的提交判断 由于 waf 拦截造成的提交异常 reset 解决方案 May 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants