具体题目如下:
包括内容:C语言,汇编指令,常见攻击场景、原理以及防御,数据结构,Linux,计算机网络,docker。
- C语言的函数malloc考察
- DDOS攻击
- 破解密码工具
- C语言的指针地址
- inux路径,/etc/fstab
- 汇编语言指令
- XXS payload和防御
- HTTP CC攻击
- 继承和派生
- SSRF 防御
- SPF
- 排序考察
- SSH命令
- docker
- 安全存储密码
- passthe ticket
- 命令注入场景
- HTTP Request smugging
- kerberos-AS-REQ
- PHP webshell
- URL 访问的格式参数(#,/)
- HTTP 状态码
第一道大题描述:
Github实现信息泄露检测系统,员工邮箱账号和密码 ,域名:test.com,邮箱后缀:@test.com
问题1:Github代码量太大,如何处理
问题2:如何精确定位信息泄露位置
问题3: 如何对抗反爬机制,列出可能的框架或者工具。
第二道题题目:手撕代码
补充:
Python实现手撕代码部分
#improt
# def string_match() #计算匹配对数
def string_match(num,str_num):
m = str_num
#每行字符串,最长不超过100个字符
for i in m:
if len(i) > 100:
print("每行字符串,最长不超过100个字符")
else:
pass
for j in i:
left=0 #左符号数量
right=0 #右括号数量
str_left=['(','[','{']
str_right=[')',']','}']
for z in range(len(j)):
if j[z] in str_left:
left=left+1
if j[z] in str_right:
right=right+1
if left!=right :
num_match= -1
print("括号不匹配:",num_match)
else:
num_match= left
print("括号匹配数量:",num_match)
#main
if __name__ == "__main__":
str_num=[]
while True:
print("Please enter a number:")
num = int(input())
print("Please enter a string:")
for i in range(num):
str_num.append(list(map(str,input().split('\n'))))
string_match(num,str_num)
输出
Please enter a number:
4
Please enter a string:
((s[i]s{
e})se)
((kky(s))
[(yese]
[2345]
括号匹配数量: 4
括号不匹配: -1
括号不匹配: -1
括号匹配数量: 1
Please enter a number:
截图:
手撕代码总结:
Python 实现以换行符为界,进行多行输入
list(map(str,input().split('\n')))
- split() :通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串.
- input(): 输入数据
- map():第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表
- list() :列表化,可修改。
处理左右符合,左边符合声明一个,右边符合声明一个。遍历字符串,比较左右符合出现次数,就可以判断。
提高难度:
计算出-1的时候,缺哪种符号,缺几个?
代码实现。
参考资料
扫描二维码关注公众号,回复:
13115153 查看本文章