自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(99)

原创 mpvue 微信小程序 cookie支持及wx.request 封装踩坑

Cookie 支持项目使用 mpvue开发因为需要某些功能需要登录,所以要保存cookie,但是微信小程序的wx.request默认是不会保存cookie的搜了一下网上有的,大部分都是使用微信小程序自带的储存功能,将set-cookies的内容解析出来,存到微信自带储存里面在wx.request的时候,再把储存里面的cookie拿出来,放到header里面这里采用的是weapp-coo...

2019-06-26 20:00:53 591

原创 mpvue 小程序开发上手指南

1. 项目初始化首先可以按照官方的quickstart 初始化一个项目# 1. 先检查下 Node.js 是否安装成功$ node -vv8.9.0$ npm -v5.6.0# 2. 由于众所周知的原因,可以考虑切换源为 taobao 源$ npm set registry https://registry.npm.taobao.org/# 3. 全局安装 vue-cli...

2019-06-26 19:35:29 54

原创 软件系统分析与设计第五次作业

1、根据订旅馆建模文档,Asg-RH.pdf:绘制用例图模型(到子用例)给出 make reservation 用例的活动图2、根据课程练习“投递员使用投递箱给收件人快递包裹”的业务场景x科技公司发明了投递柜,它们自建了投递柜以及远程控制系统。注册的投递员在推广期免费使用投递柜。由于缺乏资源,仅能使用y移动平台向客户发送短信通知。随着产品推广,x公司与各大快递z公司达成协议。x公司...

2019-05-24 08:08:09 61

原创 软件系统分析与设计第四次作业

1. 简答题1. 用例的概念用例是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术2. 用例和场景的关系?什么是主场景或 happy path?用例提供了一个或多个场景, 来说明用户和系统是如何互动的主成功场景或happy path是用例从触发事件开始, 一步一步执行, 最终满足用例利益的步骤集合3. 用例有哪些形式?摘要简短的一段总结...

2019-05-23 21:34:35 129

原创 软件系统分析与设计第三次作业

1. 简答题1.1 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点 从项目特点、风险特征、人力资源利用角度思考瀑布模型优点:为项目提供了按阶段划分的检查点,当前一阶段完成后,您只需要去关注后续阶段它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导推迟软件实现,强调在软件实现前必须进行分析和设计工作缺点:由于开发模型是线...

2019-04-13 10:53:12 101

原创 软件系统分析与设计第二次作业

1、简答题1.1 用简短的语言给出对分析、设计的理解分析是将复杂的事物逐渐拆分的过程,以此来达到对事物更好的理解设计是指满足需求的概念层面的解决方案,而不是具体实现。1.2 用一句话描述面向对象的分析与设计的优势面向对象的分析与设计的优势在于借助了面向对象对现实世界的理解和抽象的方法,使其更贴近与人的思考方式。1.3 简述 UML(统一建模语言)的作用。考试考哪些图?UML用于帮助系...

2019-04-12 20:56:53 83

原创 软件系统分析与设计第一次作业

1. 软件工程的定义Software engineering is “(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of eng...

2019-03-16 20:32:28 618

原创 Capacitated Facility Location Problem两种解决方法和对比

Capacitated Facility Location Problem问题描述Suppose there are n facilities and m customers. We wish to choose:which of the n facilities to openthe assignment of customers to facilitiesThe objective...

2018-12-15 15:52:01 1323

原创 leetcode Largest Plus Sign

这道题有点坑,这是一道dp题,关键要找到子问题,这里的子问题可以分为两个,从某一点向左走的最长非0的长度,和向上走的最长非0的长度,找到这两个之后,再做判断,其实还可以更方便点,分为四个子问题,每一点的最大加号为四个方向最小的那个值class Solution {public: int orderOfLargestPlusSign(int N, vector<vector<...

2018-12-03 15:27:55 71

原创 leetcde Domino and Tromino Tiling.

这周找了还是找了一道dp题目大概意思是2xN的铺瓷砖有两种瓷砖一种是XX一种是YYY问给定一个N,有多少种铺法假设现在N为3的话,铺法等于XXX+XXX+XXXX+XX这四种铺法的和将3推广为N即可,不过还要维持一下XXXXX和XXXXX 的铺法class Solution {public: int numTilings(int...

2018-11-29 19:36:30 69

原创 leetcode Largest Sum of Averages

这道是区间dp,三层循环一下就可以了class Solution {public: double largestSumOfAverages(vector<int>& A, int K) { double dp[A.size()][A.size()][K]; int sums[A.size()][A.size()]; f...

2018-11-23 22:07:40 54

原创 leectcode Ugly Number II

用一个数组来保存三个下标这个三个下标对应的ugly number 乘以2、3、5当最大的ugly number大于等于某个下标乘以对应的数时,该下标自增1class Solution {public: int nthUglyNumber(int n) { vector<int> ans; ans.push_back(1); ...

2018-11-13 17:59:33 49

原创 leetcode Length of Longest Fibonacci Subsequence

这道题其实就是二维dpclass Solution {public: int lenLongestFibSubseq(vector<int>& A) { map<int,int> idxs; vector<vector<int> > dp(A.size()); set<int&...

2018-11-06 19:30:45 84

原创 leetcode Is Subsequence

简单练手class Solution {public: bool isSubsequence(string s, string t) { if(s.length()>t.length()) return false; if(s.length()==0) return true; int...

2018-10-30 12:34:43 58

原创 leetcode Partition Equal Subset Sum

简单的组合问题class Solution {public: bool canPartition(vector<int>& nums) { set<int> s; int total=0; for(int i=0;i<nums.size();i++) { tot...

2018-10-24 16:38:36 42

原创 leetcode Keys and Rooms

简单图搜索class Solution {public: bool canVisitAllRooms(vector<vector<int>>& room) { bool r[room.size()]; for(int i=0;i<room.size();i++) r[i]=false; ...

2018-10-18 14:27:01 45

原创 leetcode Product of Array Except Self

题目要求复杂度为O(n),且不能用除法那算从左和从右开始乘的成绩,然后算到某一位,直接找左边的乘积和右边的乘积,乘起来就行class Solution {public: vector<int> productExceptSelf(vector<int>& nums) { vector<int> l,r,result; ...

2018-10-11 13:25:04 53

原创 leetcode Word Ladder

这题一开始想着有点麻烦,但是后面发现其实还是bfs 暴力搜索一波就行了class Solution {private: int diff(string s1,string s2){ int d=0; for(int i=0;i<s1.length();i++){ if(s1[i]!=s2[i]) ...

2018-10-02 09:39:40 49

原创 leetcode Course Schedule II

刚刚学了下拓扑排序,于是找了道题来做下代码如下class Solution {public: struct node{ int val; node* next; node(){ val=-1; next=0; } }; vector<node...

2018-09-28 09:37:48 44

原创 leetcode Score After Flipping Matrix

比较简单的一题主要运用贪心的思想让权值高的位尽量为1代码如下class Solution {public: int matrixScore(vector<vector<int>>& A) { for(int i=0;i<A.size();i++) { if(A[i][0]==0) ...

2018-09-22 10:41:25 47

原创 leetcode Binary Tree Inorder Traversal

简单复习了一下树的中序遍历/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) ...

2018-09-12 20:41:39 38

原创 leetcode Subsets

这道题是求一个集合的所有子集 可以递归解代码如下class Solution {public: vector<vector<int>> subsets(vector<int>& nums) { if(nums.size()>0) { int t=nums[0]; ...

2018-09-08 09:39:26 47

原创 LCTF2017-2ez4u writeup 另一种思路

之前没怎么用过largebin attack,于是搜了下题来做 审计了下,有个UAF漏洞,PIE开了,能打印,那跟fengshui那题差不多了于是骚操作了一波,leak出libc基址,unsorted bin attack攻击malloc_hook上的位置,其实这里攻击free_hook上面的也是可以的,然后fastbin attack直接控制_malloc_hook,填one_gadget...

2018-08-11 12:14:45 325

原创 Xman 选拔赛 NoLeak writeup

很久没发博客了,就随便写一下吧 想出一道House of Roman的题,然后去找了下类似的题目,记起来选拔赛的时候好像有一道NoLeak,那时候队里面的师傅做了,我就懒得做了,现在回顾了下,发现根本不用house of Roman就能get shell,直接partial write就可以写malloc hook,然后将shell code 写到bss段,跳到bss段get shell下面...

2018-08-09 13:39:51 616

原创 pwnable tw BabyStack writeup

这题做得好难受…..首先漏洞很明显是strcpy那里,可以strcpy超过0x3f个字符串然后login,以\x00开头的话,就可以过login了一开始我是想先泄漏程序的其中一个地址,然后利用stackOverflow 来rop一波的,然后发现,strcpy只能复制到\x00前,所以只能用one_gadget 来一发get shell但是这里还有canary要过,这里很明显就是利用...

2018-03-02 20:49:37 1107

原创 pwnable tw Starbound writeup

这题漏洞很明显,选择菜单的时候可以输入负数,然后可以在name那里填入想调用的函数,这样就可以实现任意地址执行但是有了这个之后怎么用呢??这个就有点难度了,本来是想看一下栈,看看有没有可以用的参数,但是发现基本都用不了…….然后想了下,这题没有给libc,又没有system,那么多半是ret2dl_resolve那么ret2dl_resolve又需要rop,那么这题应该就是rop了...

2018-03-02 11:54:55 543 2

原创 pwnable tw Death Note writeup

pwnable tw的题做到后面越来越骚了……脑洞太大…这题其实是printable shellcode 一开始完全没思路,后面搜了下,发现了一个神器https://github.com/VincentDary/PolyAsciiShellGen能将shellcode转化为可打印字符看了下生成的shellcode,发现其实它是利用 sub eax,xxxx 来将eax设置为任意值,...

2018-03-01 18:00:01 665

原创 jarvis oj reverse Fibonacci writeup

这题之前也做过,不过卡了一下,现在再做,发现又会做了首先要先把加密的class从exe里面dump出来这里有个教程 http://reverseengineeringtips.blogspot.co.uk/2014/12/unpacking-jar2exe-21-extracting-jar.html因为这个版本是x64的,所以断点停的是dec r8d 停住之后,在内存那里查看...

2018-02-22 09:45:12 207

原创 jarvis oj pwn xwork writeup

这题没libc,因此利用起来比较麻烦,而且它还去掉了那些one_gadget首先漏洞很明显,可以use after free,所以可以进行fastbin attack,但是fastbin attack会检查size,所以只能控制某些地方的内存,但是之后怎么用呢? 想了半天,想出一个比较长的利用链,如果有其他比较简便的方法,欢迎交流!利用链如下: fastbin attack -> ...

2018-02-21 21:56:58 343

原创 jarvis oj pwn calc.exe writeup

这题其实难是难在代码比较多,要审计比较长时间首先checksec,发现没开NX,估计就是要用shellcode了然后审计了一波,粗略发现了两个漏洞 1. 没有检查calloc出来那几个堆是否满了,有可能会溢出到下一个堆,但是这里用不了,所以不详细说了 2. 使用var ,可以添加add sub等已经存在的函数,从而实现替代了函数功能的作用这里用的就是第二个漏洞 var add =...

2018-02-19 20:09:32 290

原创 jarvis oj reverse 病毒数据分析 writeup

这题之前做过,但是做到一半就放弃了,现在又回来做一下首先这题其实还是有点难度的我们先来分析下main函数部分,首先它做了反debug判断,获取父进程信息 其次它还判断了程序所在位置,过了这几个判断之后,获取当前时间作为seed给srand然后在注册表里面拿到文档所在的目录接着在目录里面搜索docx后缀的文件,将其加密之后发送出去在加密那里,它做了几件事 1. 生成8字节随机...

2018-02-19 09:33:38 251

原创 hackme inndy petbook writeup

这题一直没人做,感觉好像很难,其实是自己吓倒自己这题的漏洞其实很明显,就是没有初始化对象,所以可以控制新new出来的user的pet的地址和post的地址这里说下怎么控制·1. new一个比一个user大,即大于536字节的post 2. edit这个post,将这个post弄成更大的,这个时候realloc会把原来的堆给free掉,然后再new一个新的堆 3. 这个时候再new一...

2018-02-16 20:20:19 308

原创 hackme inndy reverse termvis writeup

这题其实还算简单首先分析下程序,估计是读取png里面的数据,然后打印出来一张图片,虽然根本看不到…….打印完图片之后,会执行藏在png里面的brainfuck代码,然后读取输入,再判断输入是否是flag看了下程序,本来想直接用qira神器一波带走的…..但是无奈内存不够,gg一波然后只好老老实实用gdb来调试断点很明显就要下在判断那里,地址是0x40671E首先输入c,跑个...

2018-02-13 22:44:15 180

原创 pwnable.kr fsb writeup

打完之后看了下别人的wp…..发现我的完全是邪道……(后面又仔细看了下,发现并没有太邪道,其实也是差不多 因为用ssh登录上去执行,所以可以把输出重定向一下 /dev/null 2>&1 这样就可以避免因为传输东西太多而卡死然后可以直接用下面payload%134520928c%14$n%20$n%134520932c%14$n%20$n之后就可以拿到一个sh...

2018-02-12 18:18:00 389

原创 pwnable.kr ascii_easy writeup

兜兜转转,又回来这里刷题这题讲真有点难度,虽然在实际比赛的时候比较少可能会出现这类题……..很明显可以用rop,但是rop链只能全部为ascii可见字符…..这就有点难度了这题其实我想了好几种办法,但是实际用了只有一种,不过在这里也说下利用rop链将ebx的值改为libc中got表的地址,然后跳转到one gadget 这个本来感觉是最快捷的办法,但是将gadget过滤掉一部分...

2018-02-12 14:40:23 1195

原创 34c3ctf SimpleGC writeup

看到这题,堆,难度标着是easy…..然而做起来真的感觉GG其实这道题的漏洞也挺明显的,edit_group那里没有检查下标,下标可以到group那里,然后就可以实现任意地址写但是想起来还是很麻烦的,想了半天才想到一种最快捷的办法先create_user 然后group的name最后8个字节为要任意写的地址然后delete这个user这个时候程序按顺序干了几件事 1. 将g...

2018-02-09 19:19:22 209

原创 sharif ctf pwn t00p_secrets writeup

这题在比赛的时候没做出来,现在回顾一下,发现其实漏洞挺多的,而且还挺好用的…..(打比赛的时候真的是当局者迷,旁观者清….漏洞:主要的漏洞有两个,两个漏洞都可以分别达到任意内存写,任意内存读的效果1. 堆off-by-one当选择字符串的类型的时候,会将读取的字符串后的那个字节置为0,当读取的字符完全占满malloc申请的内存之后,会将下一个堆的size的一个字节置为0...

2018-02-09 11:25:12 318

原创 codegate ctf reverse easy_serial writeup

这题拿到,拖进ida,看到ghc之后,我又想起了被haskell统治的恐惧……首先用hsdecomp来反编译一波,得到如下的代码s1b4_info = unpackCString# "abcdefghijklmnopqrstuvwxyz"loc_7172600 = I# 9s1bb_info = !! s1b5_info loc_7172488loc_7172488 = I#

2018-02-04 21:25:49 335

原创 sharif ctf pwn suctfdb writeup

这两天打了一下sharif ctf,比赛平台居然在打着打着的时候被墙……这题一拿到的时候真的一脸懵逼,python??? so???后面静下心来,仔细看了下,发现漏洞多得不得了。。。。其实主要内存操作都在so里面,所以结合着python代码和so来看就可以了因为这题可以任意写db的内容,所以可以实现,写任意地址,读任意地址,控制流劫持虽然有这么多东西,但是利用起来还是有点麻烦的

2018-02-04 20:17:31 427

原创 hackme inndy reverse rc87cipher writeup

话说这题真的挺难折腾出来的首先这个程序是有upx壳的但是这个壳被魔改了,关键的信息都被删除了,在google搜了半天linux upx upack 都找不到什么有用的信息有两条路,一条是修复关键信息,一条路是像windows那些程序那样手动脱壳脱下来两条路其实都试了一下,不过最终行得通的是第二条路这里说下第一条路,如果你们有兴趣的话,可以去试试首先作者把0xB4~0xB7处...

2018-02-01 11:14:10 279

空空如也

空空如也

空空如也
提示
确定要删除当前文章?
取消 删除