Sakuraのdiary

2018-1-28

1.看玄武实验室的每日安全推送(主要是看了android挖矿,p2p蠕虫)
2.配置shadow
尝试用gdb和gdbserver来调试
https://github.com/CENSUS/shadow
https://developer.android.com/ndk/downloads/index.html?hl=zh-cn
http://kiya.studio/2017/06/21/android-gdb/
shadow文档的几个坑点

  • arm-linux-androideabi-gdb,也就是gdb-arm版没有提供,要自己找,我装了一个ndk r10e,然后弄了一个,嗯,r11移除了gdb。
  • 在gdb remote之前,文档里没有写forward转发,导致我试的时候一直refuse

3.晚上最大的收获是看到了一个不错的blog(android逆向CTF)
http://kiya.studio/2333/03/03/android-reversing-skills/#more

2018-1-29

  1. 看玄武的每日安全推送,主要看了WinAFL
  2. nexus5被我刷成砖……然后顺手把刷机、root和装xposed全都整理了一遍。
  3. webkit的poc断点找到了,可以调了
  4. 做了一道阿里CTF第二题,一道关于反调试的题。

2018-1-31

  1. 看AI直播调webkit,感觉调浏览器好难呀。
  2. 看玄武的每日安全推送,主要关注了反调试和使用Strava 热力图来推断军事基地位置,很有趣的思路。
  3. 研究了一下加固原理和脱壳基础:dvmDexFileOpenPartial,还挺简单的。
  4. 研究了ptrace和调试器原理,了解了ptrace反调试的一些技巧

2018-2-1

  1. 本来想今天研究一下ndk编译的,不过睡着了……然后也没看什么东西
  2. 帮学弟解决了一些搭建博客的bug,顺便自己把博客的主题配色,代码高亮,搜索,评论什么的都修改或添加了,好看多了……

2018-2-2

  1. 看玄武的每日安全推送
  2. 钓鱼网站那个很有趣,我就测试了一下,然后因为ss代理不走终端,找了一篇文章另一篇文章,配置了一下就好了~
  3. 自己实践了一下那个钓鱼工具,实践文章和终端那个都可以在”杂项”分类里找到
  4. 研究了一下怎么用ndk-build编译一个能在手机上运行的c程序,这样明天就可以尝试hook了

2018-2-3

  1. 今天没有玄武的推送看~
  2. 研究了android native层hook,算是学到不少东西了。

2018-2-4

  1. 写了第一个xposed程序~遇到了一些坑,不过还是趟过去了。
  2. 修改nexus5的boot.img,打开系统调试,又坑了我一会。。

2018-2-5

  1. 今天出去怠惰了(茶)
  2. xposed继续学习了一下,学会了一些姿势,感觉还是不错的~

2018-2-6

  1. 研究了怎么搭建shadowsocks服务端和优化,顺便卖了几个~
  2. 自己写了一个基于flask的B/S端口扫描器,代码太难看就不放了(茶

2018-2-7

  1. 继续看玄武每日推送2.62.7
    wordpress DOS有点意思,不过没搞懂,另外主要看了android安全公告2月版,看懂了一些(限于原理),开发太菜了。
  2. 学习了android的jni开发,基本的都摸了一遍。

2018-2-8

  1. 继续昨天的jni学习,摸清了native方法的动态注册
  2. 研究了下.init_array,结合jni动态注册,做了一道CTF题
  3. 继续看玄武每日推送2.8,这篇钓鱼的有趣
  4. 给AI写了个爬页面上文件的爬虫。

2018-2-9

  1. 研究android构建过程,Gradle工作流程
  2. 读玄武每日推送(存了个移动端静态分析的github准备好好看看)

2018-2-10

  1. 研究Dex文件格式和修复
  2. 学习了用ddms来dump出运行内存做题的技巧。
  3. 学习了新建android工程,调so文件解题。

2018-2-11

  1. 把昨天看到一道递归算法的android re做了,感觉现在做一般的CTF都有点思路了,做看雪的还是GG,还要提高姿势水平。
  2. 今天上午看到我在知乎的提问有师傅回答我了:https://www.zhihu.com/question/266901100/answer/316607339,然后作死的又打开了这个洞CVE-2015-3864,嗯...我调没调出来,忙活了一上午,断点都没断下来,但是起码……嗯,我记住了名字!libstagefright,我是记住了……别等我学会了来找你。。
  3. 今天下午做完题就又瞎看了一会,思考我是不是选错了方向……android的调试贼麻烦,资料还贼少,看了看看雪,主要是浏览器、文件格式和内核,虽然其实都一样的,那些资料也不多,没法挖洞的……认识的dalao又少,没法充分交流QAQ,唉,感觉我是不是不适合当黑客,看vulcan的师傅微博,月月一大批CVE,就我什么都挖不到,不过今晚看了看师傅们的博客,他们的心路历程给了我很大勇气,是的,我早就不打算退后了,只有前进而已。

2018-2-12

  1. 今天刷空间看到moctf比赛,就参加了下,把android/linux re做掉就没看了。
  2. 依然很迷茫,不过其实想想,我开始学二进制,其实也就不到半年,进步速度并不是不能接受,只是在技能进阶上卡住了又没人交流而已,嗯,再想想好了。

2018-2-13到19

  1. 这些天几乎都过年去了……然后唯一做了点事就是把自己的课程设计做了,PortScan
  2. 新年新气象,最近家里的事情也是乱七八糟,能多学点赚钱的技术分担压力就好了。
  3. 下学期的计划——fuzz、CVE漏洞研究、前端后端的一些Web开发(写点相关项目练手),然后找实习。
  4. 学会了一项新的运动,保龄球,很有意思。
  5. 最近一直什么都没学,自己也在反思一些东西,寻找一个前进的点。
    比如浏览器,文件格式,还是内核,或者其他,还是都不是。
    安全只是个抽象的概念,具体化了才能变成业务。
    我还需要探究一段时间,读很多的漏洞分析文章,追随前辈们走过的路途,再进一步反思。
    “一个漏洞的产生到漏洞利用至少会经历好几个阶段:Bug –> exploitable bug(vulnerability) –> poc –> exploit –> reliable/weaponized exploit。虽然大家都喜欢把fuzzing出来的bug讲成blah-blah-blah的故事或者作为PR,但我们真正关心的漏洞应该是能到最后两个阶段的vulnerability。”

2018-2-20到21

  1. 返校真是艰难……飞机火车客车出租全都转了一遍才到……
  2. 晚上收拾了下房间,看了看看雪,发现师傅做的有趣CTF题,https://bbs.pediy.com/thread-224686.htm
  3. 群里在讨论内存管理和hook,被推荐了一本腾讯的手游安全的书《游戏安全:手游安全技术入门》,还不错,可以入个门……
  4. 看到一个博客提供了一些自定义ROM的资料,最近也想改,看到了就记录一下。https://my.oschina.net/ibuwai/blog?catalog=3379629&temp=1519222237338

2018-2-22

  1. 看了《手游安全技术那本书》,学习了注入技术。
  2. 下午买了考虫的口语能力提升班,然后学习了下
  3. 晚上在seebug逛,找各种二进制漏洞分析的资料,然后看到了陈良的ppt,remet的github,韩子诺的文章,还有很多很多……CVE-2014-7911感觉可以调调,我得整理整理我搜的资料,然后按照原理->漏洞分析->exp去学习w

2018-2-23到25

  1. 是的,仔细算算,我已经编译AOSP编译了三天了,而且还没编译好……现在已经基本放弃在mac上编译了,我现在突然想,flanker大神之所以用ubuntu做主力机……是不是因为在mac上编译不出AOSP呀……(逃)
  2. 明天在旧电脑上装win/ubuntu的双系统,要不是因为这学期有win网络编程和c#开发……我就直接烧ubuntu进去了(撑脸
  3. 嗯,不用明天了,在今天的收尾……新学期的开始……我终于是守得云开见月明,把AOSP弄出来了!

2018-2-26

  1. 学习了stack pivot,劫持栈指针
  2. 学习了heap spray,堆喷
  3. 学习了虚表攻防
  4. 了解androidroot
  5. Time-of-check Time-of-use (TOCTOU) Race Condition
  6. 今天还是认真的研究了一下之前没调出来的cve-2015-3864,因为这个漏洞有完整的利用链资料,非常的棒,虽然可能调不了什么的,但是理解这个利用过程也很有意义。
    还是要感谢一下看雪师傅的文章,还加了好友0.0,感觉要是我一开始就是编译的AOSP去调试……可能寒假就调出来了2333,反正感觉今天还是很有收获的。

2018-2-27

  1. 一上午调了道64位rop,还没调出来..exm???是这题的错还是我的错…多看看别人的exp好了,以前还是做题不够,积累不够。
  2. 继续看stagefright好了,争取今天多少调一调。
  3. 好吧,没看进去,gp0的exp大致看懂了,不过metaphor的思路还是费解,可能我现在的理解力还是不够。
  4. 下午一直在整理之前看的ptmalloc的一些基本概念,虽然意义不是很大,但是理一理总是好的,还是要为ctf-wiki打call,里面写了非常多的干货,明天继续整理。

2018-2-28

  1. 体育课累死……密码学数学基础有趣。
  2. 今天把heap exploit的unlink整理了一下,虽然最后那个例子有点问题,我换了两个系统都没成功,但是原理还是理清了,真的是都快忘了……

2018-3-1

  1. 又混了篇看雪的优秀,感觉还是蛮有成就感的,自己发的文章都不是优秀就是精品。
  2. 今天有点怠惰呢,明天要继续努力。

2018-3-2

  1. 今天一天都在整理fastbin的一个内容(其实还玩了一会Web,黑掉学校OJ嘿嘿嘿)
  2. 这道赛题略难,然后跟团队练习赛的PragyanCTF,感觉这赛题像是file io啊。。谁出的题这么皮。。

2018-3-3

  1. 生日快乐~自己,去订了蛋糕,今天继续研究了一下那个fastbin的题,真的很难。。
  2. 把android kernel也编译了出来,这次真的是可以调了。。

2018-3-4

  1. 今天和实验室大一的聊了下,然后把我能知道的东西,方向什么的,都聊了一下。
  2. 9447 CTF 2015的fastbin是真的难……我还是不懂,算了算了,明天看点别的吧,这个todo。
  3. 今天和一个师傅聊了下IoT漏洞应该怎么挖,受益匪浅,但是转换为具体的硬实力还需要多看多学多调。

2018-3-5

  1. 今天把那道fastbin的题认真的理了理,其实也不是很难,然后又把pragyan ctf2018的两道pwn题做了一下,第一道还好,那个目录遍历没理解上,看了wp会了,第二道就有点迷,静态链接下的格式化字符串漏洞,没办法覆盖got表,看了一篇wp是覆盖malloc_hook,这不是我白天看的那道fastbin的套路么……真的是……然后打开栈执行,这……真是脑洞,又感觉自己很菜……
  2. 嗯w,文章又被看雪推送了,还是感觉蛮不错的……希望能认识更多人吧w,今天看了看玄武每日推送的目录,非常nice,准备找个时间把这段时间没看的都啃一下。

2018-3-6

  1. 上周的比赛,搞到今天总算是大致调完了,就只剩一个点不懂,也是实在搞不懂了,教主说的很有道理,只有把文章写成博客,发出去,才能检验你到底对这个东西的理解怎么样,事实上,也只有在学习中的我,才会如此详细的写wp吧。

2018-3-7-8

  1. 这两天把漏洞战争的环境大致搭了一下,从用windbg到看到符号,还是折腾了一下。

2018-3-9-10

  1. 调了一下漏洞战争堆的第一个binary,然后熟悉了一下工具使用,还是nice.
  2. 调了cve-2012-1876的poc,发现了一些书上没有提到的地方和一个错误,就不提勘误了…都出了这么久了…原理差不多懂了,很有趣。
  3. 今天有意想不到的收获,或者说机会吧,希望我能把握好,然后做好安全研究,成为一个优秀的黑客。
  4. 列一个CVE调试计划吧,目前进度1/10
    浏览器
    3.7 CVE-2012-1876,堆溢出(p2o ie9)
    4.3 CVE-2011-0027,整数溢出漏洞 (p2o ie8)
    4.6 CVE-2013-2551,整数溢出漏洞(p2o ie10)
    7.4 CVE-2013-1347,UAF(ie)
    android
    10.7 CVE-2014-3153 anroid kernel提权

2018-3-11-12

  1. 这两天进度比较低迷,第一天直接莽上去调exp然后被打脸…今天把vupen的文章仔细读了一遍,把整个利用过程理解了一下。
  2. 说来有个有趣的点,p2o之后cve-2012-1876不是应该补了么,怎么在win8+ie10上还能利用,更有趣的是vupen明明用这个洞getshell了ie9,但是为什么keen在Study of Exploit Migitation in Modern Browsers这个ppt上说了bstr的分配不再能被利用,那vupen到底是怎么写的exp…
  3. 最近的计划(才怪…
  • 编译的前端后端
  • kernel的漏洞
  • 看diff写poc…

2018-3-13-14

  1. 密码学数学基础和算法这些课也就算了,晚上还有软件开发的课,各种文档什么的…能不能好好lu代码,把之前写的项目project答辩完了。
  2. 等到了想等的结果,收心认真学习了。
  3. 晚上把计算机系统素养里的部分内容(VM)又看了一下,十分有意义。
  4. 为了学编译原理,先自己lu一个c语言解释器了解个大概吧。

2018-3-15-17

  1. 这几天把write a c interpret看完了,大致了解了编译器前后端,当然肯定现在还是不会写的。
  2. 调cve-2012-7864,虽然称不上调通exp,但是大部分都调出来了,poc调的很顺利,在exp就处处踩坑。
  3. 说来好像webkit的dom的堆被分开了,以后就不会有那么多uaf了。

2018-3-18-20

  1. 日记还是要每天记……都忘了自己每天做了什么了……把c++的project做完了,做了两道pwn题。
  2. 看了一下LCTF2017的题目,large bin的unlink确实没练过,还有一道simpleVM改的题,都做做好了。

2018-3-21-25

lctf2017的题目里学到不少东西,另外关于堆利用的姿势实在是不足,此外无libc利用这个也要再学习一下。
这几天除了两个project写,还打了强网杯,感觉就是什么都不会吧。。可能不该死磕一道题,应该都看看?…啊啊啊,难受死了,离顶尖水平差的根本不是一点半点……
还看了一篇清华的论文,非常nice。http://jcs.iie.ac.cn/ch/reader/view_abstract.aspx?file_no=20180101&flag=1
还是有的挫败呢,离别人的水平。

2018-3-26

1.读玄武每日推送[http://chuansong.me/n/2253059751415].

2.准备配linux kernel的调试环境,真的是……配不起来啊,双机调试,拉取符号文件,设置串口,改配置开启调试功能。rbq,rbq
3.加入了chamd5团队,有师傅一起学pwn,一起讨论真是太棒了QVQ

2018-3-27

  1. 上午和出强网杯kernel题的师傅聊了一下kernel的调试环境搭建和赛题,师傅人蛮好。。
    搭建的话,muhe师傅的https://www.anquanke.com/post/id/85837
    编译linux 注意去掉不必要的东西,然后编译busybox 然后插入内核 写linux init 最后制作cpio
    这样就可以qemu+gdb调试了,很nice。

  2. 下午和晚上忙各种杂七杂八的事情反正……不过总算还是把要复盘的赛题做完了。

  3. 另外,感觉自己的努力和天赋还是被人肯定的,加油吧,自己QVQ。

2018-3-28

  1. 人生这种东西,其实就是起起落落落落落落落落落落落落落落落落落落落落落落落落落落落落,23333
    瞎看了半天linux inside,还看了下linux x86-64 asm,感觉没什么进展。
  2. 晚上在知乎提了个问题,别人指了一条很nice的路线给我,还和其他人get了一点点资料,感觉我应该也是可以搞的吧,嗯哼。
    其实今天一直比较浮躁,还是昨天晚上的一些后遗症吧,还有就是期望和现实的落差……
    不过冷静的回想一下,不能让自己立刻从舒适区脱离,从新掌握新的知识,那怎么进步呢?且行且努力(乖巧

2018-3-29

  1. 这几天事挺多的,今天才把blackhat的ppt都下载下来,然后看了下linux符号解析还发现了一个正在开发中的linux病毒
  2. 收集了蛮多linux kernel资料慢慢啃……今天啃了两个ppt,纯英文的那么多……我也是很意外自己读起来没什么障碍的……
    学什么都要一步一步呀,能调通一个,调试就没什么了,后面的学习速度就看对于kernel和保护的理解了。

2018-3-30-31

  1. 这两天发生的事情还蛮多的,最近发生的一些事让我觉得,自己调的真洞还是太少,调就要调出来还要能调通,不过说实话吧……浏览器和kernel的洞真的不好调,我学二进制又不久……现在比赛练pwn都来不及,还要分身调洞,确实有点难啊……
  2. 不过kernel的ppt啃了俩,感觉纯英文的资料也就那个样子了,读起来还是挺流畅的,要是真的不懂换成中文我也不懂……
  3. 把kernel题的环境搭起来了,有师傅请教真的是比自己搞好太多……另外堆的题感觉有感觉了,准备给自己一个比较长的训练周期,比如十天,彻底脑内模拟透,最近进步还是蛮多,加油。
    mark一个师傅的博客

2018-4-1-3

  1. 打了一场0ctf,感觉自己还是太菜,不过在师傅们的帮助下,把能搞懂的题都搞懂了,学到很多很多东西,还是很开心的。
  2. 写wp太麻烦了坦白说。。不过还是写吧,不写的话自己都不知道能记得多久……

2018-4-4-11

  1. 这几天电脑键盘坏了,电脑送修什么都没干。下了个吃鸡手游,嗯,还挺好玩的,今天早上电脑到了删了。
  2. 把0ctf2018的4道pwn复盘完了,折腾kernel调试环境。。还是挺麻烦的。
  3. 想要的很简单,得到却很难,好想去实验室做安全研究。

2018-4-12

  1. 今天从qemu+gdb,各种花式报错,到搭建内核的双机调试,简直了……总算最后是勉强在win机器上弄好了。
    今天得到的一个启发是,先找一个可以用的方案去做,不要想什么一次做到最好,到有机会再换方案。
  2. 英语作业还没做……唉……赶作业赶作业……

2018-4-13

  1. 今天也是一堆事情,睡到中午然后开始做ddctf,那个逆向的mips还有android逆向的RSA,pwn的win kernel exploit真的是有、意思。反正我不想做了,不如学习一个新姿势
  2. linux kernel调试的环境算是彻底搭好了,今天解决了两个昨天没解决的bug,已经可以看到源码了。

2018-4-14-15

  1. 解决了内核不能单步调试的问题,然后在复习信安数学了。。再不看要凉了
  2. 仔细跟了一下poc,感觉还是能看懂的。

2018-4-16-17

  1. 自己看了下日记,4月除了修电脑配环境,几乎什么都没做,这段时间心态太浮躁了,嗯,加个太,也要准备投几家实习了,本来以为可以拿到的offer,都感觉凉了,不过算了,我是要去实验室做安全研究的人呢。
  2. 分析了cve-2017-8890的漏洞成因和模型还有patch

2018-4-18

  1. 今天也是一堆的课,晚上和师傅们聊天聊八卦去了。。结果只把UAF对象的分配和释放调了调。
  2. 了解了一下实验室面试啥的,要好好调CVE了。

2018-4-19

  1. 看了看师傅们的面试题,觉得其实自己还能再抢救一下。。
  2. 今天看了长亭的kernel的洞,感觉分析成因还是很好分析的…但是exp调起来麻烦,也懒得写博客记录了,今天把webkit的调试记录了一下,明明好久之前就搞了,结果到现在还是这样没什么进展(茶

2018-4-20-21

  1. 编了一天v8,搞不出来,墙真讨厌。
  2. 调(看)了一个webkit的UAF漏洞,还行,感觉最难懂的还是对象之间的引用关系太复杂,还有就是回调函数跟着跟着容易找不到自己在哪。
    “我是谁,谁在打我。”(逃)

2018-4-22-24

  1. 打了一场*ctf,又学到了新姿势。
  2. 在看v8,看JIT,看R大的回答,xjb搜文章,还是不错。
  3. 调通了p2o的一个v8的oob的洞,cve-2017-5053,还是不难。

2018-4-25-28

  • 补一些浏览器的基础吧

  • 学习了一下一个新的内核洞,有新的trick总结

  • 最近觉得该搞搞利用了,路由器固件也可以玩一下,安全研究这么有趣,什么都能摸一下(才怪

2018-4-29-30

  1. 国赛打完了,各种不走心,状态奇差,混进赛区半决赛了,CTF也玩到这了吧先,后面好好研究浏览器。
  2. 看了Natalie Silvanovich写的How to Find JavaScript Vulnerabilities with Code Review
  • Determine intended functionality
  • Review implementation of important features
  • Review previously reported bugs
  • Brainstorm likely vulnerable areas
  • Review code!
    Mozilla docs (MDN) is a great start for JS
  1. 想翻一些议题视频看的时候翻到了一个仓库,js vul的,存一下,js-vuln-db

2018-4-31-5.2

  1. 看了一个js optimized code视频,虽然是chakra的

    不过感觉,有点没用…这些我都知道(
  2. 看v8的gc,利用和各种,反正还是挺迷的,先看吧QVQ
  3. 看到一幅很棒的图,新的v8的执行图?
  4. 看webkit技术内幕找灵感,看洞有点看不明白了。

2018-5-3

  1. 下午在看书,然后突然接了玄武的面试,患得患失吧,之前面试都没这种感觉,可能是因为,玄武是我从刚学二进制,就一直梦想能去的地方。
  2. 总结一下面试:
    CTF和内核这种充数的不算,好歹面的是浏览器组。
    主要是讲了v8的一个洞,然后oob有一个点没分析清楚,我需要透彻的再搞一下了,还是太菜。
    感谢给我讲了这个点的sky师傅,面的时候被问到这里真心紧张了。
    面了45分钟,口干舌燥,最后我提问的时候,问了自己读浏览器源码的方法是否合适,万分期望能过。
    也问了我对各种缓解机制的了解,然后就是漏洞利用,我讲的每一个洞,都被问了怎么利用,这个答的太差了,真的只是说说思路了,自己搞,写exp,真的没试过……该提升这方面的技能了,不能停滞不前!
  3. CTF暂时不玩了,在拿到offer之前。

2018-5-4

  1. webkit技术内幕里关于v8有一些描述,有一些帮助。
  2. 理解了一下原型链是什么。

2018-5-5-9

  1. 有点忘了自己都做了什么?最近做的东西周期越来越长,分开来看每天都没什么好记的(都是借口……最近太兴奋和激动有点摸鱼)
  2. 玄武实验室的offer拿到了~我最初想要的都有了,以后只需要往着安全研究员和优秀黑客的方向继续努力就行。
  3. 最近有在翻v8的一些日语资料,翻完了会放出来吧,一边看资料一边查资料读slide打基础,还有鲸书准备读。

2018-5-10

  1. 继续翻v8 exploit的资料,大概翻完了1/3,看到了GC机制那里。
  2. 下午上机组实验太伤脑子了……茶,然后最近准备再调一个v8的oob写wp了,不过还得等等…一样一样来。
  3. c++有点不熟了呀,还是要再搞搞……

2018-5-11

  1. 继续翻v8资料,理解引擎很重要,在此基础上调洞比起靠感觉还是要好点的,纯靠感觉容易偏。
  2. 翻完了gc,好像稍微懂一点了。
  3. 今天其实发生了很多事情吧,不过不方便写在日记里,就这样吧。

2018-5-12

  1. 继续翻v8,总算翻到了对象存储(其实这部分该最先讲吧……)
  2. 准备信息系统开发的答辩什么的,下周开始要准备复习功课了。

2018-5-13-14

  1. 今天把v8的ppt的引擎基础部分翻完了,入职的事情也都搞的差不多了,剩下就是在去之前好好努力了。
  2. 感觉路由器这种硬件可以玩玩……相对好挖洞呢。。

2018-5-15-6-9

这段时间沉迷期末考试无法自拔???嘤嘤嘤
有个小插曲,因为弄错了考试时间导致挂科,吃一堑长一智。。回去我就把那个误导我的垃圾学校app日了。。
好了,开始记笔记了。

2018-6-10-11

把v8 exploit的PPT翻译收了个尾,重新整理了下v8的学习思路。
从漏洞函数回溯调用路径,断点调试等,还有exp的常用思路。

2018-6-12-14

最近脚上起了个小疮去了两趟医院,走路还好疼,真的是非常不顺利了。

2018-6-15

在mac上编译了v8,之前是在win上编译的,不得不说……有个坑点就是在16.04上面,不checkout到旧的分支,是无法编译成功的,耽误了一天。
然后认真的研究了一下fast Properties和hidden class,拿gdb打debugprint看了很多东西学习,记笔记记笔记。

2018-6-16

翻译了Source to Binary Jounrney of V8 javascript engine
categories,get了新知识,v8的体系结构还要多调试理解。
另外,再需要啃一本鲸书,理解一下编译优化技术。

2018-6-17

积累着读了一点PPT
突然发现也已经看了和写了,还调试了不少东西了,慢慢的对v8从生疏到开始渐渐熟悉,不过到挖掘漏洞的方法论可能还要再过一段时间吧。
毕竟v8代码我都没咋读过,翻翻pipeline.cc了解下Turbofan的一些API

2018-6-18

饮鸩止渴的谈恋爱。
学习了阅读v8的bytecode,和了解bytecode的生成和解释执行还有to graph的过程

2018-6-19

今天开始要复习一点算法呢。
学习了v8增加的gdb命令使用,读了
https://github.com/danbev/learning-v8/blob/master/README.md
真的难懂,看了一下午,没什么头绪。。

关于代码生成,Builtins和Runtime还是云里雾里,头疼。
写了个小工具来转换unsigned long long和double
v8的对象存储又看了一遍。。。结果今天还是没复习算法。。睡觉睡觉。(小可爱毕业了)

2018-6-20-21

分手+搬家,寄了一些东西回家,整理了整理书,虽然我看的都是电子书,但是还是存了这么多呀。
三年不长,但也不短。

晚上收拾了我最后一点东西,把入职需要的材料办完,要走了呢。

2018-6-22-23

复习了几道动态规划的算法题,要考试啦。
另外最好的消息是迟到了。。只做了十分钟的计算机组成原理居然及格了。。感谢老师,师生情太深了,感动感动。
这段时间发生了不少事情,然后让我又想明白了一些事情,这段时间确实,没怎么学的进去,学的并不好。
今天看了蛮久的漏洞,不知道其他人是什么样,但是在我最烦最难受的时候,安全研究是最能让我平静下来的一件事情。
我喜欢这样,虽然目前很多地方做的并不好,但是可以慢慢学习~
写了个case CVE-2016-1646,还有另外一个JIT的洞,有点难懂。

2018-6-24-25

调v8一个麻烦就是编译,得想个办法.
http://eternalsakura13.com/2018/06/26/v8_environment/
总算是搞定了,最近一些技术文章读的少了,思路不够开阔,学习学习……
还有算法考试要到了。。趴桌,继续在看动态规划和贪婪

2018-6-26

学习了CVE-2016-5198,原理就是一个JIT优化后,假设每个object都有property(map),但是如果改变了object,使其没有property,那么继续执行下去就会OOB,利用方式也比较传统,不过还是有几个点不清楚,比如为什么这么修改map的type,ParseInt是怎么回调的,patch应该怎么写,能否寻找到一类问题。
都还需要总结(

2018-6-27-28

  1. 看了一些内核的资料,整理整理,顺便给人鸡汤了一下。。
  2. 刷算法,准备期末。。凉了啊。。

2018-6-29

  1. 累的要死的一天,飞机晚点了三个小时,卒……
  2. 看了一些资料,学会了如何成为一个合格的安全研究员(打了鸡血
  3. 在mathias这里住下了~New story要开始了

2018-6-30-7-2

  1. 这两天在忙着入职,装电脑和认识同事。
  2. 和导师说了自己最近在做什么,从tools和Bug study的角度,然后他让我继续搞v8,得偿所愿,不过估计要干活要明天了,说是要分析的洞还没给我。
  3. [ Browser ] Microsoft Edge Chakra 引擎 UAF 漏洞分析 (CVE-2018-0946):https://www.fortinet.com/blog/threat-research/an-analysis-of-the-use-after-free-bug-in-microsoft-edge-chakra-engine.html
    https://bugs.chromium.org/p/project-zero/issues/detail?id=1534&desc=3
  4. [ Browser ] CVE-2018-5146
    http://blogs.360.cn/blog/how-to-kill-a-firefox/
    A神之前就说在写一个没有poc的exp,不知道是不是这个洞,突然想到。
    others(同事写的root cause和exploit,还有怎么用shadow来分析堆,很有意义。
  5. 看了鲸书1-4章,不少熟悉的名词……interesting

2018-7-3

刚入职这段时间确实是最宽松的一段时间了,只需要学习就行了,没有什么其他KPI,后面应该就多了。
今天分析CVE-2017-0234,不过主要花时间都花在环境搭建上,漏洞触发和分析并不难,或者说还好。

2018-7-4

  1. 今天把CVE-2017-0234的分析报告初版写完了,掌握了vs和windbg的两种很棒的调试方法,然后在编译v8,算是学到了一点东西,得再加强code review的能力。
  2. 成功在win上编译好了v8,可以玩一下。

2018-7-5

  1. 0234还要分析第二版,不过还不急,今天在自己分析其他v8的漏洞,一个p2o的洞的利用,思路真是棒,学到了学到了~
    https://docs.google.com/document/d/1tHElG04AJR5OR2Ex-m_Jsmc8S5fAbRB3s4RmTG_PFnw/edit

2018-7-6

  1. 上班摸鱼好几天,今天下午听了各个大佬每周做的事情和科总的分享,觉得要走的路还很长。
  2. 目前的计划:
    先看一些代码和语言标准;
    talk和blog(可以看看如何移植v8,并思考其中可能出现的漏洞
    Firefox的fuzz(编译原理不止要领会意义,更要能写出来。
    另外是关于win下用到了v8的各种软件的调试,也是一个学习面(比如可以看看漏洞战争等资料学习windbg和常规利用)

你要用较少的时间走完别人走了很久的路,所以你要跑起来,要飞快地跑起来。

  1. 和导师聊过自己分析的第一版漏洞,发现很多问题,我需要更深入的思考。其实安全研究有点像一个侦探游戏,每一行都是线索,我漏掉一点东西就拼不出完整的拼图。(因缺思厅
    PoC能否修改?怎么修改?思考如下:
  • 不同的对象能否触发?举例:一定要是Uint32Array或者ArrayBuffer么?
  • 是否一定用到循环?去掉循环行不行?怎么精简PoC?
    为什么JIT优化去掉边界?它为什么会去掉边界?(和4GB有关,这种特殊的buffer分配方式)
    (去掉边界的代码是三行,代表一个JIT生成的可选项,为什么要这么选?)

2018-7-7

  1. 今天上午去办了个房卡,一个月4000,押二付一,资产清零2333,其实居住条件就一般啦,只是离公司近,方便加班(摸鱼)
  2. 今天和朋友聚了个餐,以后就全吃公司救济粮了~
  3. 继续看0234,直接挂win API没调到点子上,但是最后还是换了个想法搜到了。。还行。。方向没错。
  4. 思考和调试新的攻击方法,趴桌。

2018-7-8

  1. 把0234第二版写好了(调试分析昨天已经结束了,今天只是整理文案……)
  2. 然后看c++对象模型,很有意思。
  3. 研究了一下js fuzzer
  4. 继续思考和调试某个洞(或者说软件)的新的攻击方法。

2018-7-9

  1. 下午就是在部署fuzz和抄代码,然后xx发了个webkit的洞,我看看……还有公司推送了一个dlmalloc的。。都看看
  2. 导师说我写的FUZZ是浪费时间2333,嗯,是这样的,我不用太心急,这就是有人带的好处……很多点能够及时纠正(然后一下午没了2333
    沿着各个组件,各个组件都出过什么漏洞这个线索去分析好了,人的力量才是无穷大的。
    嗯,先把思路和相关知识建立起来。

2018-7-10-11

  1. 在这找test看,https://cs.chromium.org/chromium/src/v8/test/mjsunit/es6/regress/
  2. v8相关的索引,https://v8.paulfryzel.com/docs/master/index.html
  3. 看每天的commit,https://github.com/v8/v8/commits/master
  4. 看gpz的漏洞,每天写一篇分析(当然不可能放出来(逃
    https://www.exploit-db.com/author/?order_by=date_published&order=desc&pg=1&a=7725
  5. 最近在思考一些个人研究是否要放博客上,仔细想了想还是算了,漏洞理解的思路,比很多东西要宝贵吧。

2018-7-12

  1. 现在想要挖到洞,想学会漏洞利用,顺便,月乃安利了一个repo,PPP的https://github.com/theori-io/pwnjs
  2. 这两天可能因为一些原因心情异常烦躁,一方面是弱的不行的自己,一方面是想要的更多,哇,真想哭……好了,杂事就不管了,我又不是神,怎么可能面面俱到。
  3. 闭关,博客会更新日记,在有一定系统化的总结思路之前,博客不会再更新文章了(日更变月更?)

2018-7-13

今天开了个组会,可以说是非常开心了……
每天东看瞎看,没看点有用的东西……(发呆

然后导师给了我下一版要继续分析清楚的点。

  1. VritualAlloc分配的和GC管理的区别,GC机制
  2. 开发者为什么这么设计这个?为什么之前不限制4GB
    (明明超过4GB就会OOB,为什么还去掉上界,他们就真的是觉得4GB足够大?其实不是;patch补的其实是没问题的,虽然依然可以dos,但是这个不是大问题,应该还是要从GC的角度去再思考一下,或者其他?)
  3. 这个内存管理是实现有问题还是设计有问题?实现有问题那么还有哪些地方是这么实现的,设计同理。要比开发者更了解他们所写的软件(:
    安全研究的本质还是回归到对开发者的代码的深层次理解,一层一层的往下深挖,才能挖到线索,挖到真相(

太菜了太菜了……受不了我自己了……
今天的收获是和刘炜师傅指点了我好多,一些源码里的疑问搞的清楚了,还解决了其他问题,nice……每天学的都比较痛并快乐着了。

2018-7-14

一觉睡到下午一点半……23333,还好周末,不过平常起得也不早,还好在玄武,要不然要被开了……(360打卡
然后晚上和川神还有夜影他们约了个饭,感觉还不错~(然后吃完了滚回来加班)
今天看了点chakra,分析了cve-2016-7189,用英文写了wp,明天再整理一下pattern(root cause比较好写,只是关于callback我调了一下,挺好玩的)
type confused还是很普遍的漏洞,但是其实还是不大好覆盖到每个点去看,有没有什么好思路呢(发呆

2018-7-15-18

这几天真的有点懵……或者说有点迷茫,开始搞chakra,代码还是那么难啃,不过比v8好搞多了……
关于开发者的假设最后还是弄清楚了,其实就还好,是我分析的时间间隔有点长,没直接串起来,一个宽度问题。
在想明白之前觉得自己要被开了,现在还好。
今天游走了一天,把zdi的博客上的一些分析看了,有点意思,但是还不够。
另外我又要继续分析了。
为什么VirtualAlloc比GC更不安全,GC机制。
导师让我找几个渲染引擎的老的UAF洞看看~(估计就16年的吧
感觉又要踩坑……
搭了一个VPN服务器,这样就不用担心v8拉取不下来了……
https://cloud.tencent.com/developer/article/1154896
人生苦短我用docker