ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】100. 相同的树
https://leetcode-cn.com/problems/same-tree/
1)problem
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1
/ \ / \
2 3 2 3
[1,2,3], [1,2,3]
输出: true
示例 2:
···
输入: 1 1
/
2 2
[1,2], [1,null,2]
输出: false
···
示例 3:
输入: 1 1
/ \ / \
2 1 1 2
[1,2,1], [1,1,2]
输出: false
2)answer
- 如果这两个节点的值相等,就继续把p节点的左孩子,q节点的左孩子放入栈中;再把p节点的右孩子,q节点的右孩子放入栈中。
- 重复这个步骤,直到栈为空。
- 如果整个循环遍历完了,说明两个树的元素都是相等的,返回true。
- 如果不相等就返回False
3)solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def isSameTree(self, p: TreeNode, q: TreeNode) -> bool:
if p is None and q is None:
return True
if p is not None and q is not None:
return p.val ==q.val and self.isSameTree(p.left,q.left) and self.isSameTree(p.right,q.right)
return False
Review
【漏洞挖掘】某内网软件配置文件远程代码执行
1)场景
OpenVPN漏洞利用参考
2)问题难点
现有版本的修复情况
3)解决问题的方法
OpenVPN配置文件介绍
利用方法
powershell反向shell
编码问题
拼接Payload
控制主机
资料
4)方法细节
OpenVPN配置文件远程代码执行
https://www.cnblogs.com/17bdw/p/11433751.html
Tip
【安全开发】Red Team远程控制软件
1)场景
远程控制版本
2)问题难点
远程控制特点协议
3)解决思路
开源远程管理控制
多协议远控shell
商业版
协议分析
4)方法细节
Red Team远程控制软件
https://www.cnblogs.com/17bdw/p/11433942.html
Share
【业务】upload-labs 上传漏洞靶场环境以及writeup
1)场景
上传漏洞利用场景
2)问题难点
靶场环境
3)解决思路
···
一个帮你总结所有类型的上传漏洞的靶场
https://github.com/c0ny1/upload-labs
靶场环境(基于phpstudy这个php集成环境)
https://github.com/c0ny1/upload-labs/releases
upload-labs 上传漏洞靶场的解题方法
https://github.com/LandGrey/upload-labs-writeup
···
4)方法细节
upload-labs 上传漏洞靶场环境以及writeup
https://www.cnblogs.com/17bdw/p/11434042.html