这道题目帮助我学习了realloc这个函数,是一道十分经典的题目,我会尽量的把exp的每一步都说清楚 例行检查我就不放了 讲程序放入ida中 比较简单的流程,没有show功能,所有我们需要通过爆破stdout这个函数来获得libc 我先放上我学习的俩位师傅的博客 (16条消息) BUUCTF-PWN roarctf_2019_realloc_magic(tcache attack,块重叠,劫持_IO_2_1_stdout_泄露libc)_L.o.W的博客-CSDN博客 好好说话之Tcache A…
本文首发安全客:https://www.anquanke.com/post/id/104760 在刚结束的HITB-XCTF有一道pwn题gundam使用了2.26版本的libc.因为2.26版本中加入了一些新的机制,自己一开始没有找到利用方式,后来经大佬提醒,才明白2.26版本中新加了一种名叫tcache(thread local caching)的缓存机制. 本文将依据2.26源码探讨tcache机制详细情况并结合HITB-XCTF的gundam一题进行实战讲解.题目下载地址. Tcache…
来做一下以前比赛的题目,下面两个题目都可以在buu复现(感谢赵总). SWPUCTF_2019_login 32位程序,考点是bss段上的格式化字符串.用惯onegadgets了,而对于32位程序来说,onegadgets似乎不太好用,条件太苛刻了.还是用system拿shell好一点. 我见网上都是打got表拿的shell,我是修改程序执行流程为system拿的shell. 修改0xffc2e7a8 -▸ 0xffc2e7b8为0xffc2e7a8 -▸ 0xffc2e79c 然后让0xffc…
偶然得到这个平台,发现是BIT的CTF平台,应该是平时的阶段性的训练题目.看了看题,其他方向的题目感觉都是入门题,但是pwn题目,发现还是比入门题难一点点的,来记录一下. pwn1 栈上任意位置的读写操作,只能一字节一字节读写,算好偏移,还是挺好做的. 比较坑的是,远程的libc被改了,用one_gadgets打的时候,明明可以拿到shell,但是不给flag!真是可恶!!! 做题思路:泄露libc基地址,泄露pie程序基地址,把返回地址覆盖成pop_rdi,binsh,system,拿shel…
Pwn Heap With Tcache 前言 glibc 2.26 开始引入了 tcache , 相关的 commit 可以看 这里 .加入 tcache 对性能有比较大的提升,不过由于 tcache 的存在 ,一些利用方式的限制条件就少了许多.具体往下看. 相关文件位于 https://gitee.com/hac425/blog_data/tree/master/tcache_pwn 修改自:https://github.com/andigena/ptmalloc-fanzine/tree/…
Oracle TNS Listener Remote Poisoning 远程数据投毒漏洞(CVE-2012-1675) 1.漏洞简介: 允许攻击者在不提供用户名/密码的情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞. COST 是class of secure transports 的缩写.是为了控制实例注册提供的一种安全控制机制.其作用是对于一个确定的listener,限制哪些实例通过哪些协议可以进行注册.这将避免有其他远程实例进行恶意注册,并由此产生信息泄露等风险.它通…
CPU的任务就是执行存放在存储器里的指令序列.为此,除要完成算术逻辑操作外,还需要担负CPU和存储器以及I/O之间的数据传送任务.早期的CPU芯片只包括运算器和控制器两大部分.到了近几年,为了使存储器速度能更好地与运算器的速度相匹配,又在芯片中引入了高速缓冲存储器. 除了高速缓冲存储器之外的组成,大体上可以分为3个部分: 1.算术逻辑部件ALU(arithmetic logic unit)用来进行算术和逻辑运算.这部分与我们的关系不太大,我们没必要管它. 2.控制逻辑.同样与我们的关系不大. 3…
(这是我真正意义上的完完全全自己做的第一道堆题目,虽然花了快三个小时,谨以此篇纪念一下) 题目的例行检查我就不放了,将程序放入ida中 程序的逻辑十分简单,漏洞也非常明显 重点是这个程序没有给我们show函数,所以第一时间想到了爆破stdout和house of force这俩方法,但是house of force需要溢出去修改topchunk,所以这个题目使用爆破io_stdout来做 这道题的思路是将chunk在unsorted bin中释放去获得aren的值,要注意因为程序开启得alsr…
好记性不如烂笔头,此处记录一下,ubuntu进行子域名的爆破. 先记录一个在线的子域名爆破网址,无意中发现,很不错的网址,界面很干净,作者也很用心,很感谢. https://phpinfo.me/domain/ 介绍一下,我在ubuntu上面安装的Sublist3r. 先放GitHub地址,感谢作者. https://github.com/aboul3la/Sublist3r 安装过程,首先git下来. git clone https://github.com/aboul3la/Sublist3…
熟练使用工具,可以提高一个人的做事效率- 1. iTerm2快捷键使用 ⌘ + d: 垂直分屏,⌘ + shift + d: 水平分屏. ⌘ + ]和⌘ + [在最近使用的分屏直接切换.而⌘ + opt + 方向键切换到指定位置的分屏. ⌘ + w :关闭当前标签页. ⌘ + enter: 最小化最大化切换. ⌘ + ::自动补全历史命令. ⌘ + f: 当前窗口中查找. ⌘ + r:清屏,其实是滚到新的一屏,并没有清空,相当于clear命令. ctrl + u: 清空当前行. ctrl + a…
近期学习了一段时间python,结合自己的安全从业经验,越来越感觉到安全测试是一个体力活.如果没有良好的coding能力去自动化的话,无疑会把安全测试效率变得很低. 作为安全测试而言,第一步往往要通过爆破目标站的一级域名开始.作为安全而言,最薄弱的地方往往不是主站,而是二级和三级域名.通过大牛lijiejie的工具subdomainsbrute我们可以轻松的获得一个子域名列表和IP的txt文件: www..edu.cn .x.x.x cs..edu.cn .x.x.x my..edu.cn .x…
系统ubuntu64位 Clang4.0 参考: 1 https://github.com/yangyangwithgnu/use_vim_as_ide#0.1 其中 第7章 工具链集成 2. http://clang.llvm.org/get_started.html 其中 Release Clang Versions 3. http://libcxxabi.llvm.org/ 其中 Get it and get involved! 先开始进行按照1中的方式单独编译 Clang/llvm以及相…
数据库密码爆破HexorBase   数据库服务是服务器上最常见的一类服务.由于数据库保存大量的敏感信息,所以它的安全非常重要.测试数据库服务安全的重要方式,就是检查口令的强壮度.   Kali Linux提供了HexorBase工具.该工具是少有的图形界面工具,它支持MySQL.Oracle.PostgreSQL.SQLite和SQL Server五大主流数据库.它允许安全人员指定用户字典和密码字典,然后实施字典攻击.同时,它还提供对应的图形界面客户端,允许安全人员使用破解出的用户名和密码,对…
祭出神器MSF 再用auxiliary/scanner/http/tomcat_mgr_login 这个辅助模块爆破下弱口令 这里就用模块自带的字典吧   然后简单配置下.RUN 需要自己定义字典的话,set看变量路径,然后show options ,然后下图 参考http://www.2cto.com/Article/201310/253205.html…
升级linux文件时,若不小心把文件名给重命名了,结果导致执行所有命令都不识别. 比如我们不小心执行了 mv /lib64/libc.so.6 /lib64/libc.so.6.bak 结果导致所有系统命令都用不了.怎么办呢?好急人~~ 网上搜索半天,有的说要光盘引导修复,这可是要进入机房的啊,有没有更方便的呢? 最后找到了,只要当前会话没有断开: 执行export LD_LIBRARY_PATH=/lib64/libc.so.6.bak:$LD_LIBRARY_PATH修改临时变量. 然后执行…
一.我是怎样一步一步毁掉系统的 最近在centos 7上进行开发.由于需要使用高版本linux内核的特性,需要将linux内核升级.按照教程:centos 7升级内核 进行升级的时候发现在安装elrepo的yum源时遇到问题说elrepo-release-7.0-2.el7.elrepo.noarch.rpm 需要glibc-2.17.     使用ldd --version 发现系统的glibc版本为 glibc-2.22,当时没有想到更好的方法,就尝试将系统的glibc版本修改为glibc-…
系统 : Windows xp 程序 : cztria~1 程序下载地址 :http://pan.baidu.com/s/1slUwmVr 要求 : 爆破 使用工具 : OD 可在看雪论坛中查找关于此程序的破文:传送门 废话不多说,直接查询到字符串:“            you did it!”,双击定位: ; /Count = 40 (64.) ; |pediy |. FF35 ] ; |hWnd = 000405D8 (class='Edit',parent=000505C0) |. E…
今天测试最新的微信iOS SDK, 仅仅是建了一个空的工程,把sdk加进去运行,就报了以下错误: Undefined symbols for architecture x86_64: "operator delete[](void*)", referenced from: +[WeChatApiUtil EncodeBase64:] in libWeChatSDK.a(WeChatApiUtil.o) +[WeChatApiUtil NsDataEncodeBase64:] in li…
最近以为接触ios开发,所以对git也产生了一点兴趣.所以在网上搜索资料开始学习,但大部分都是没用的copy的文章,有一个还不错的,推荐给大家 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 从开始配置到分支到冲突解决等等,都非常的详细.经过2天的学习,差不多能熟练的操作git了,感谢这位前辈.…
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉.问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用,…
hydra是一款全能的暴力破解工具,功能强大,几乎支持所有的协议,是著名黑客组织thc开发的. 在Kali Linux下已经是默认安装的,于是测试爆破一下自己的一台VM虚拟机服务器.hydra还支持GUI图形界面(xhydra),不过习惯还是命令好用. (爆破3389端口终端登录的帐号和密码 协议:rdp) 帮助命令:hydra -h  //查看基本用法 参数说明: hydra [[[-l login|-L file] [-p PASS|-P FILE]] | [-C FILE]] [-e ns…
#coding:utf-8 from optparse import OptionParser import time,re,sys,threading,Queue import ftplib,socket,MySQLdb,paramiko global host queue = Queue.Queue() #******************************************** #color #*****************************************…
这个脚本是接地提供的思路,一句话爆破速度提升一千倍,看了他的帖子然而没有看到工具,思路很牛逼,我提供一个Python脚本本地测试了下,十万密码只需要3秒,速度还是可以的 # coding:utf-8 # __author__ : learn import threading,Queue,requests class Add_password: def __init__(self,dictname,queue): self.dictname = dictname self.queue = queu…
rpm包安装过程中依赖问题"libc.so.6 is needed by XXX"解决方法 折腾了几天,终于搞定了CentOS上的Canon LBP2900打印机驱动.中间遇到了一些问题,主要是安装rpm包出现的依赖问题,费尽周折总算是解决了.现在简单总结一下. 首先说明一下,我用的CentOS版本是6.6,64位.打印机驱动程序是两个rpm安装包:cndrvcups-common-2.60-1.x86_64.rpm和cndrvcups-capt-2.60-1.x86_64.rpm.…
代码出现crash,报错:libc++abi.dylib: terminate_handler unexpectedly threw an exception 当我们很明确是某一块代码执行导致了错误,不妨使用try catch来打印exception详情. 例如: @try { self.headerlineLable.text = [_entity.name substringToIndex:]?:@"Power by Wieye"; self.headerlineLable.fon…
作为一个经验丰富的C/C++程序员, 肯定亲手写过各种功能的代码, 比如封装过数据库访问的类, 封装过网络通信的类,封装过日志操作的类, 封装过文件访问的类, 封装过UI界面库等, 也在实际的项目中应用过, 但是回过头仔细想想,其实以前自己写过的这些代码,只能是在特定的项目或者特定的环境中使用, 对于自己来说, 在不同的项目中应用, 只需要复制代码, 改改也就可以了, 因为自己写的代码自己很熟悉.问题是, 你封装的这些库, 在给别人使用的时候, 别人用起来是否很方便, 跨平台方面是不是也很通用,…
在安装一个程序的时候提示libc.so.6过旧,但是查看libc.so的版本是最新的,于是尝试使用尝试软链接  ln -s /usr/lib64/libc.so /usr/lib64/libc.so.6 , 悲剧的事情发生了! 几乎所有的linux命令都依赖于libc.so,libc.so.6是一个动态链接库文件,是GNU C Library的一个共享函数库,软链接到不同的版本上才能起作用. google的一番,发现很多同学进入了linux rescue急救模式进行文件替换,复制等.好吧,哥也试…
LLVM的最新版本3.3终于在6月17日发布了,按之前的计划6月5日就应该发布了,不过毕竟没有太晚,赶在VS2013 preview(6月26日微软Build大会)之前出来了.加上之前gcc4.8.1在5月底6月初发布,当今最优秀的三大C++编译器都在这个月发布重要更新,这个6月份真是C++的好日子啊! LLVM之前就已经宣布做到C++11 Feature Complete了,3.3应该是第一个稳定版,之前gcc4.8.1也同样是全面支持C++11,这篇文章介绍了如何在CentOS上编译安装最新…
逆向破解这块我也是个刚起步的小菜,入门都还算不上吧,看了点基础教程,先动手练习一下增加点兴趣.嘿嘿 工具: peid         //查壳工具 OllyDebug    //反汇编.动态调试工具 简称OD 壳的概念: 作者编好软件后,编译成exe可执行文件. 1.有一些版权信息需要保护起来,不想让别人随便改动,如作者的姓名等,即为了保护软件不被破解,通常都是采用加壳来进行保护. 2.需要把程序搞的小一点,从而方便使用.于是,需要用到一些软件,它们能将exe可执行文件压缩, 3.在黑客界给木马…
python多线程ssh爆破 Python 0x01.About 爆弱口令时候写的一个python小脚本,主要功能是实现使用字典多线程爆破ssh,支持ip表导入,字典数据导入. 主要使用到的是python的paramiko模块和多线程threading模块. 那么,首先要准备的是字典dict.服务器ip表. 东西很简单,主要默认目录如下: |--ssh.scan.py |--/log: sshd |--/dict: ip password ip和password按照一行一个放置. 0x02.Co…