您的位置:首页 > 其它

xctf攻防世界—Web新手练习区 writeup

2019-08-08 23:51 4335 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44037296/article/details/98897386

xctf攻防世界—Web新手练习区 writeup

view_source

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师让小宁同学查看一个网页的源代码,但小宁同学发现鼠标右键好像不管用了。

进入页面后显示:“FLAG is not here”,鼠标右键菜单栏不能正常触发,通过在题目地址前添加

view-source:
访问网页源码,得到flag

<h1>FLAG is not here</h1>
<!-- cyberpeace{dbc38d67602cd1dfa7f62bdd90824fc7} -->

get_post

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师告诉小宁同学HTTP通常使用两种请求方法,你知道是哪两种吗?

进入页面后显示:“请用GET方式提交一个名为a,值为1的变量”,在地址栏输入

?a=1
通过GET方式传递参数;
得到新的提示:“请再以POST方式随便提交一个名为b,值为2的变量”,通过Google Chrome的插件HackBar通过POST方式传递参数:
b=2


得到flag
cyberpeace{0f013ed4965abfc7d2f6100703245650}

robots

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师上课讲了Robots协议,小宁同学却上课打了瞌睡,赶紧来教教小宁Robots协议是什么吧。

访问网页显示为空白,尝试查询robots协议

/…题目地址…/robots.txt

User-agent: *
Disallow:
Disallow: f1ag_1s_h3re.php

继续访问

/…题目地址…/f1ag_1s_h3re.php
,得到flag
cyberpeace{a80e5bcf6423bc3fe5707a10c2676c3b}

backup

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧!

进入页面后显示:“你知道index.php的备份文件名吗?
根据提示,下载index.php的备份文件,即访问

index.php.bak
,下载到备份文件后放入HEX Fiend工具中打开,在结尾得到flag

cookie

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:‘这是夹心饼干的意思吗?’

进入页面后显示:“你知道什么是cookie吗?”,通过Burp Suite抓取数据包,得到提示:

访问

cookie.php
,得到新的提示:“See the http response”,使用Google Chrome插件HTTP Headers查看,得到flag

disabled_button

难度系数: 1.0
题目来源: Cyberpeace-n3k0
3ff7 题目描述:X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢?


提示为前段知识,查看网页源码:

<input disabled class="btn btn-default" style="height:50px;width:200px;" type="submit" value="flag" name="auth" />

将“<input>”标签中的

disabled
属性删除掉,得到flag
cyberpeace{3f9351e76f3719a11933dabb19cd8b9c}

simple_js

难度系数: 1.0
题目来源: root-me
题目描述:小宁发现了一个网页,但却一直输不对密码。(Flag格式为 Cyberpeace{xxxxxxxxx} )

进入网页后需要输入密码:

密码输入错误,查看网页源码:

<script type="text/javascript">
function dechiffre(pass_enc){
var pass = "70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
var tab  = pass_enc.split(',');
var tab2 = pass.split(',');var i,j,k,l=0,m,n,o,p = "";i = 0;j = tab.length;
k = j + (l) + (n=0);
n = tab2.length;
for(i = (o=0); i < (k = j = n); i++ ){o = tab[i-l];p += String.fromCharCode((o = tab2[i]));
if(i == 5)break;}
for(i = (o=0); i < (k = j = n); i++ ){
o = tab[i-l];
if(i > 5 && i < k-1)
p += String.fromCharCode((o = tab2[i]));
}
p += String.fromCharCode(tab2[17]);
pass = p;return pass;
}
String["fromCharCode"](dechiffre("\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30"));

h = window.prompt('Enter password');
alert( dechiffre(h) );

</script>

dechiffre
中的十六进制转换为字符串,得到
55,56,54,79,115,69,114,116,107,49,50
,对照ASCII码表转换为字符串:
786OsErtk12
,添加正确格式即为flag

xff_referer

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:X老师告诉小宁其实xff和referer是可以伪造的。

进入页面后显示:“ip地址必须为123.123.123.123”,通过Google Chrome插件ModHeader添加请求头信息:

X-Forwarded-For: 123.123.123.123
,刷新页面得到新的提示:必须来自https://www.google.com,继续添加请求头信息
Referer: https://www.google.com
,刷新页面得到flag
cyberpeace{68d1f3f8fb33701e06ee0c5db9895426}

weak_auth

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。


尝试输入账号密码登陆:

根据提示随手设置的密码,感觉为弱密码爆破,使用Burp Suite抓取登陆时的数据包:

Send to Intruder后,选择攻击模式为

Sniper
修改需要暴力破解的变量:

弱类型密码字典粘贴到Payload Options

开始暴力破解攻击,通过长度判断是否成功登陆:
得到登陆密码:
123456
,登陆后得到flag
cyberpeace{681a629f7ffb7f44b6685750fdeda872}

webshell

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:小宁百度了php一句话,觉着很有意思,并且把它放在index.php里。


一句话已经给出,使用中国蚁箭,添加目标信息:


在文件列表中发现

flag.txt
,访问该文件得到flag
cyberpeace{94155f1370b8c864793a8a87dd617af4}

command_execution

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:小宁写了个ping功能,但没有写waf,X老师告诉她这是非常危险的,你知道为什么吗。


题目名为控制台命令执行先尝试输入本地IP:

ping -c 3 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.088 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.052 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.038 ms

--- 127.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.038/0.059/0.088/0.022 ms

得到了输入的命令:

ping -c 3
:对输入的地址检查三次是否连通,尝试是否有访问文件的权限:
127.0.0.1 | ls

ping -c 3 127.0.0.1 |  ls
index.php

有访问目录的权限,继续查询主目录,在

home
文件目录下发现:
flag.txt

ping -c 3 127.0.0.1 |  ls ../../../home/
flag.txt

尝试打开

flag.txt
,输入控制台命令:
127.0.0.1 | cat ../../../home/flag.txt
,得到flag
cyberpeace{9a27a9c1e0ac69bd09ddf1d1557ea2aa}

知识点:命令执行

WindowsLinux下:

command1 && com
8000
mand2
:先执行command1后执行command2
command1 | command2
:只执行command2
command1 & command2
:先执行command2后执行command1

simple_php

难度系数: 1.0
题目来源: Cyberpeace-n3k0
题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。

<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>

分析代码:通过GET方式传入变量

a
和变量
b
的值,其中需要a=0但有又不能为0b不能为纯数字但药大于1234
通过“==”比较漏洞我们可以绕过比较,即在比较时,PHP会把变量值先转换为相同类型再进行比较,在地址栏中构造如下传参:
?a=0c&b=1235c
,访问便得到flag
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: