pwnable simple login

这是一周前做的一道题目,总的来说这道题很简单,当然一开始看了半天没发现溢出点也是十分的惭愧,题目出的很良心,思路就是溢出之后我们可以控制main函数的ebp, 进而在main函数返回时进行漏洞利用。

先看看IDA反汇编的结果

主函数的几个内存操作的函数都没有什么问题,那么问题很可能出现在auth函数了

这时候溢出点就一目了然了,input最大12个字节,而v4只有8个字节,调试一下发现,覆盖的是主函数的ebp,经过调试发现控制ebp可以跳转到任意地址,那么跳转到哪呢,发现input是个固定地址, input是我们输入的内容,依靠leave指令将执行system("/bin/sh")的地址赋给esp,最后ret指令将地址给eip,完成利用。

时间: 2024-08-05 10:24:21

pwnable simple login的相关文章

pwnable.kr login之write up

main函数如下: auth函数如下: 程序的流程如下: 输入Authenticate值,并base64解码,将解码的值代入md5_auth函数中 mad5_auth()生成其MD5值并与f87cd601aa7fedca99018a8be88eda34相比,如果相等则调用correct函数,得到shell 找12个字符进行base64加密: 将值输入找到溢出点: 发现AAAA覆盖了main函数的ebp,程序执行到leave出错. leave相当于以下两条指令 指令 含义 MOV ESP, EBP

Struts2 Simple login Validate

validate()方法验证 一个ACTION类继承ActionSupport有何用处? 答:在ActionSupport中实现了很 多接口,就拿一个来讲,validate()方法,是默认的验证.我们可以在我们的action类中重写一下此方法.比方说验证用户名是否为空.这个方法 不需要调用,当S:FORM表单提交了,到了action类中会首先执行此方法.对数据进行验证. 用   el 表达式  或   struts 标签   读取错误信息 1 <%@ page language="java

[Firebase + PWA] Keynote: Progressive Web Apps on Firebase

Link : Video. 1. Firebase Auth: provides simple login with Github, Google, Facebook, Twittr. Link 2. Manifest: 3. Generate Mainfest and icons: Link 4. Read-only offline cache: 5. What Web can do Today?: Link Github: link https://firebase.google.com/d

浅谈 MVP in Android(转)

我自己写的demo:https://pan.baidu.com/s/1dFImVYD 一.概述 对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等.本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何针对一个Activity页面去编写针对MVP风格的代码. 对于MVP,我的内心有一个问题: 为何这个模式出来后,就能被广大的Android的程序员接受呢? 问了些程序员,他们对于MVP的普遍的认识是:“代

用soapui进行功能测试-TestSteps的使用

如前所述,TestSteps是soapUI中功能测试的核心构件;每个TestStep都执行一些步骤来验证要测试的功能. TestSteps默认是依次执行的,但是分支,循环甚至调用其他TestCases有几种可能性,在需要时可以进行复杂的测试.任何数量的TestSteps都可以添加到TestCase中;通过右键单击TestStep列表并选择添加/插入或按TestCase窗口中相应的按钮添加它们: 当选择TestStep时,其右键单击菜单会显示相应的操作,左下角的属性表显示可设置的相关属性,例如下面

jQuery表单 Ajax向PHP服务端发送文件请求并返回数据

ImageAjaxUpLoad.htm <!DOCTYPE html> <head> <meta charset='utf-8'> <title></title> <script src="jquery-1.6.1.min.js" type="text/javascript"></script> <script src="jquery.form.js" ty

虚拟机安装archLinux+xfce桌面教程(更新时间2017-5-8)

本教程转自http://blog.sina.com.cn/u/5692023517 感谢大神写出如此详细的教程并允许转载 本教程的目的:为了让新手安装arch不再那么难, 一个好的教程可以少走很多弯路 教程使用的软件:vmware workstation 12.5.5,virtualbox 5.1.20 - 镜像:archlinux-2017.05.01-x86_64.iso 安装环境为BIOS + MBR 效果图: 基本知识:需要懂一点nano 或 vim的使用方法 其他的可以看 arch w

mobile app 与server通信的四种方式

Have you ever wondered how the information gets into the application installed in your mobile device, how it is updated, and how it is synchronized with your account in the web application on the desktop? If you think that this is a case of miracle t

Ajax.BeginForm 上传文件

在 Mvc 中上传文件时通常使用 Html.BeginForm 标签,同时对Form 添加属性 enctype = "multipart/form-data",前端代码如下: @Html.BeginForm("Edit", "Home", null,FormMethod.Post, new { enctype = "multipart/form-data" }){ <label> 文件路径</label>