某省网络安全特招考试

上午笔试

四种题型:单选、多选、判断、简答、问答。


单选

涉及:计算机网络、操作系统、unix操作系统命令、计算机组成原理、安全类知识等。

具体涉及:ipsec、pingofdeath、802.1x、0110 1010 的逻辑右移一位和算术右移一位 、父进程和子进程是否共享同一虚拟地址等。

多选

涉及:漏洞以及其修复、单选所涉及等。

具体涉及:如csrf如何修复。

简答

问漏洞之间的不同和修复方案。

问答

问渗透测试的问题。

总结

本次考试稍微简单,对大部分人都很友好。

下午机试


一共八道题,前三道送分,后五道不送分,因为不能联网遭遇极大削弱,只能依靠经验和往常做的笔记,属于摸着石头过河,最后三道web题是一道没做出来,除去这三道web题还有一道pwn题目,两道逆向题目。

题目一(web1)

上机实操考试

题目一(web1)

在这里插入图片描述
在这里插入图片描述

一眼get传参改成admin

在这里插入图片描述

题目二(misc1)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qaBXt2wI-1679296748514)(assets/image-20230319144010969.png)]

点击文件进去搜索就得到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vxSYXUwF-1679296748515)(assets/image-20230319144717209.png)]

题目三(crypt1)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0xJ0fEy2-1679296748515)(assets/image-20230319144906747.png)]

两个等于号,看着像base64

解码之后得

Wm14aFozc3lNemczWmpjME55MDFZemhrTFRRd016UXRPV00wWWkxak5HRXpZemMyTURFd1pEVjk=

一个等于号?我再一次base64decode:

ZmxhZ3syMzg3Zjc0Ny01YzhkLTQwMzQtOWM0Yi1jNGEzYzc2MDEwZDV9

我再一次base64decode:

flag{2387f747-5c8d-4034-9c4b-c4a3c76010d5}

题目四(web2)

在这里插入图片描述

嘛,这才是正常题目啊

源码看到的

在这里插入图片描述

一顿目录扫描,很关键啊,找到后台了,嘻嘻。
在这里插入图片描述

感觉这个manage没进去过,于是进去看看
在这里插入图片描述

这个login.php:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rxItNqhA-1679296748518)(assets/image-20230319153458095.png)]

尝试爆破,没尝试sql注入。

寄,弱密码没爆出来。


寄后谈,我当时思路不清晰,其实在index.php是有get的sql注入的,但是我当时没有尝试,而是去做下面的web题,我想如果我当时用SQLmap爆破一下,后台我就进去了,而我在manage目录里已经看到有上传口和文件目录,思路又有了,文件上传加RCE,哎。

题目五(web3)

在这里插入图片描述
在这里插入图片描述

扫了下目录

只有www.zip

只有一个文件,打开是源码,nice
在这里插入图片描述

<?php


if(isset($_GET['aaa'])){
$a = $_GET['aaa'];

if ($a != 'QNKCDZO' && md5($a) == md5('QNKCDZO')){
$url = $_GET['url'];
if(isset($url) && filter_var($url, FILTER_VALIDATE_URL)){
    $site_info = parse_url($url);
    if(preg_match('/php|echo|\||find|cat|\<|#/',$site_info['host'])){die('easy waf.');}
    if(preg_match('/sec.gd.com$/',$site_info['host'])){
        exec('curl "'.$site_info['host'].'"', $result);
        echo "<center><h1>You have curl {$site_info['host']} successfully!</h1></center>
              <center><textarea rows='20' cols='90'>";
        echo implode(' ', $result);
    }
    else{
        die("<center><h1>Error: Host not allowed</h1></center>");
    }

}
else{
    echo "<center><h1>Just curl sec.gd.com!</h1></center><br>
          <center><h3>For example:?url=http://sec.gd.com</h3></center>";
}
}
else{
echo "小明同学最近刚入门信息安全,上传了个有漏洞的PHP页面,但好像忘记要做点什么...";}
}
else{
	header("Location: /index.php?aaa=123456");
}
?>

经典php代审: ($a != 'QNKCDZO' && md5($a) == md5('QNKCDZO')这个问题已经遇到过一遍了

[BUU]CTF刷题记录中有一道: [BJDCTF2020]Easy MD5<★★★>题目 其中提到:

一开始以为是要寻找MD5碰撞的例子,后来想了想不应该这么复杂,就发现了PHP有个隐式转换的缺陷,PHP在处理哈希字符串时,会利用”!=”或””来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。
构造例子
QNKCDZO
240610708
当然,安全的比较方法是三个=,也就是“=”。

所以绕过这个($a != 'QNKCDZO' && md5($a) == md5('QNKCDZO') 可以用240610708来实现。

这个怎么绕过呢?if(preg_match('/php|echo|\||find|cat|\<|#/',$site_info['host']))


寄后谈,这个绕过问了下其他师傅,他说闭合掉 ' ',我一听卧槽,牛逼!
这个思路直接让我想起sql注入,这真是…牛逼。

题目六(web4)

在这里插入图片描述

在这里插入图片描述
卧槽
是强等于的绕过?
感觉很眼熟。


寄后谈,哥们这题没思路,听隔壁师傅说也许是延时注入。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值