Updates from 四月, 2016 Toggle Comment Threads | 键盘快捷键

  • jinzihao pm6:18 on 2016年4月30日 链接地址 | 回复
    Tags:   

    缓冲区溢出漏洞入门笔记 

    最近在了解缓冲区溢出漏洞的发现和利用,完全零基础…
    看了一些文章了解到一些入门内容,但水平还不足以写篇文章总结一下…
    就把自己看过的文章在这里分享一下吧,应该这些文章结合起来看看就可以入门了:

    这篇文章很适合入门,从基础概念讲起,给了很多示例:
    http://www.xfocus.net/articles/200708/%BB%BA%B3%E5%C7%F8%D2%E7%B3%F6%B9%E2%CB%D9%C8%EB%C3%C5.pdf

    稍微进阶一点的文章,示例也很多:
    http://linux.ximizi.com/linux/linux5570.htm

    乌云上的一篇概述性的文章,介绍了很多常用工具:
    http://drops.wooyun.org/binary/6521

    前几篇文章里提到的shellcode在这里有系统性的介绍:
    http://www.xfocus.net/articles/200805/980.html

    一个方便的测试shellcode的工具,里面也给出了一段经典的shellcode:
    http://www.secdev.org/projects/eggrun/

    关于C语言的函数调用栈,大多数情况下需要对函数调用栈有些基本了解才可以利用缓冲区溢出漏洞:
    http://www.cnblogs.com/clover-toeic/p/3755401.html

    用gdb查看内存数据的方法(必备技能),gdb的更多用法可自行搜索:
    http://eminzhang.blog.51cto.com/5292425/1256022

    关于ret2libc攻击方法,缓冲区溢出漏洞的利用方法之一:
    http://blog.csdn.net/linyt/article/details/43643499

    ret2libc的一个实例:
    http://geeksspeak.github.io/blog/2015/05/18/defconctf-2015-quals-ropbaby-writeup/

    乌云上介绍ret2libc的一篇文章,很详细:
    http://drops.wooyun.org/binary/13554

    一篇介绍ROP(缓冲区溢出漏洞的一类利用方式)的文章,很详细:
    http://codearcana.com/posts/2013/05/28/introduction-to-return-oriented-programming-rop.html

    一组示例,可以检验一下自己对各种攻击方式的理解是否正确:
    http://5alt.me/posts/2014/09/Protostar%20stack%200-7%20writeup.html

    另外一篇系统性地介绍ROP的文章:
    http://drops.wooyun.org/tips/6597

    一个ROP的例子,可以验证一下自己的理解:
    http://www.ricter.me/posts/Vortex12%20Writeup%20-%20The%20First%20ROP%20I%20Wrote

    另一个关于ret2libc的例子,对抗地址随机化的一种思路:
    http://lieanu.github.io/2014/12/08/SCTF-pwn200.html

     
  • jinzihao am11:42 on 2016年4月23日 链接地址 | 回复  

    初等数论 – 期中复习 

    期中复习

    2016年4月21日

    20:02

    第一章

    公理:良序性质(WOP):非空正整数集合有最小元

    有理数:可以表示为p/q的数,p和q是整数,q不是0

    T1.1:根号2是无理数

    证明:反证,如果根号2是有理数,构造一个这样的集合,其中的元素本身和它的根号2倍都是正整数,这个集合有最小元,这最小元的根号2倍减去这个最小元也是正整数,且它乘上一个根号2还应该是正整数,这就推出矛盾了,因为最小元的根号2倍减去这个最小元大概只有最小元的0.414倍,比最小元更小 (WOP)

    整系数多项式的根是代数数

    中括号表示下取整

    一个数的小数部分可以用一个数减去一个数的下去整来表示,可以用大括号表示

    T1.2 鸽巢原理:k+1个物体装入k个箱子,必有箱子里装着不止一个物体

    证明:反证,不用定理或公理

    (阅读全文 …)

     
  • jinzihao pm9:37 on 2016年4月18日 链接地址 | 回复
    Tags: ,   

    连续地访问内存TLB是否命中在运行时间上会有很大差别,例如:

    上述程序中循环体内有13个版本的代码,每次编译只启用其中1行,注释掉其余的12行,测量运行时间。

    每次访问内存地址的增量从16KB逐次折半,到最后每次增量为4byte,内存访问操作由第一个版本100%的TLB miss,到第4个版本TLB miss开始降至50%(假设页大小为4KB),此后TLB miss比例逐次减半,直到最后几乎100%的TLB hit(1023/1024),此过程中运行时间不断下降。

    问题:最后一个版本的运行时间明显上升,且多次实验结果均无改变,不知该如何解释?

     

     
c
写新的
j
下一篇文章/下一个回复
k
前一篇文章/以前的回复
r
回复
e
编辑
o
显示/隐藏 回复
t
回到顶部
l
go to login
h
show/hide help
shift + esc
取消