ARTS:
- Algrothm: leetcode算法题目
- Review: 阅读并且点评一篇英文技术文章
- Tip/Techni: 学习一个技术技巧
- Share: 分享一篇有观点和思考的技术文章
Algorithm
【leetcode】122. 买卖股票的最佳时机 II
https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/
1)problem
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
**注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例 1:
2)answer
采用贪心策略来解决
第i天买入,第j天卖出得到的收益和第i天买入,第i+p天卖出,第i+p天再买入,第j天卖出得到的收益是相同的。比如[1,2,3,4,5],很明显最大收益是4,可以看作是第一天买入,第五天卖出,但是也可以看作是第1天买入,第二天卖出,同时买入,第三天又卖出,同时买入······
从第一天开始买入,只要有收益就可以直接卖出,接下来再买入,同样一旦有收益就可以卖出,这是一种典型的贪心思想,局部最优达到全局最优。
3)solution
class Solution:
def maxProfit(self, prices: List[int]) -> int:
total = 0
for i in range(1,len(prices)):
if prices[i] > prices[i-1]:
total += prices[i] - prices[i-1]
return total
Review
【漏洞挖掘】MySQL和FTP密码破解
1)场景
调用工具对常见服务做密码破解
2)问题难点
搞定密码破解
3)解决问题的方法
工具
Hydra
Ncrack
Medusa
Patator
Metasploit
4)方法细节
破解MySQL登录密码的几种方法
https://www.cnblogs.com/17bdw/p/11844244.html
破解FTP登录密码的几种方法
https://www.cnblogs.com/17bdw/p/11842892.html
Tip
【安全开发】IIS6远程代码执行漏洞复现CVE-2017-7269
1)场景
IIS6远程代码执行漏洞复现CVE-2017-7269
2)问题难点
细节的整合
3)解决思路
简述
测试环境
CVE-2017-7269漏洞原理
Metasploit5利用EXP
Metasploit加载自定义模块
加载自定义模块方法
在线加载EXP
本地加载EXP
Metasploit利用命令- CVE-2017-7269
Metasploit反弹SHELL
Windows server 2003实战问题
参考文章
4)方法细节
IIS6远程代码执行漏洞复现CVE-2017-7269
https://www.cnblogs.com/17bdw/p/11874484.html
Share
【业务】无导入表编译原理
1)场景
加壳,运行shellcode
2)问题难点
无
3)解决思路
前置知识
思路
通过PEB获取kernel32.dll 基地址
C++代码
汇编代码
无导入表运行shellcode
参考
4)方法细节
无导入表编译原理
https://www.cnblogs.com/17bdw/p/11889233.html