渗透测试基础(一)

1.类型溢出

  • 什么是类型

    我们就针对JAVA这门语言来讲,JAVA有八大基本数据类型,左边是基本数据类型,右边是对应的引用数据类型

    int --> Integer
    short --> Short 
    long --> Long
    float --> Float
    double --> Double
    byte -- >Byte
    boolean --> Boolean
    char --> Character
    
  • 整型溢出

    由于整型运算的过程中,结果占取了首高位,将原本的符号位改变成了1,因此造成负数的过程,例如

    public class Demo {
        public static void main(String[] args) {
            multiplication(1,2);
        }
        public static void multiplication(int i,int j){
            System.out.println(i*j);
        }
    }
    结果为:2
    
    public class Demo {
        public static void main(String[] args) {
            multiplication(9999999,99999999);
        }
        public static void multiplication(int i,int j){
            System.out.println(i*j);
        }
    }
    结果为:-1640494975
    

    避免这个过程的产生可以从以下几点考虑:

    1. 当第一和第二因子都在整型范围内时,可以将程序定义的那个因子修改为更大范围的整长型,例如long
    2. 通常情况下,两个运算因子中,有一个是由程序定义的;因此只需要限制第二因子的输入范围(最大值)边界值
    3. 通常情况下,用户输入的都是字符串,限制字符串的长度进行处理
    4. 基于程序本身的处理

2.文件上传漏洞

一、前端js绕过

我们上传1.php文件时,前端阻止上传弹窗,说明存在前端验证文件。

绕过:

  1. 修改前端js代码,利用f12可修改
  2. 把1.php改为1.jpg,再利用bp抓包,修改回1.php也可上传

 

二、黑白名单绕过,如果可以上传phtml php3 php4 php5 Php php (空格) php.,

pphphp

如果上传成功,测试是否能够解析不能就判断此方法不行。

 

三、针对文件类型绕过

如上有这种提示的话,说明程序对文件的类型content-type进行了判断

绕过:

  1. 上传1.php文件,进行bp抓包,

2、当然难一点的题不仅仅判断content-type,还判断了内容,文件头

判断文件头:上传1.php抓包在文件内容增加GIF89a

 

判断文件内容:上传图片马1.jpg,再修改回1.php

当然很多题目不会只判断一种,类型,文件头,内容都可混合使用。如果还不行那就是下面的这些情况

 

四、路径截断绕过与普通截断绕过

上传图片马(可以在图片马头加GIF89a),发现有保存路径

成功的条件:php版本小于5.3.4

php的magic_quotes_gpc=off

可能为路径截断绕过

1、Get:在上传路劲处../upload/1.php%00

2、Post:对../upload/1.php后进行16进制hex修改为00

3、还有一种非路径截断,上传图片马(视情况加GIF89a)

抓包修改为:1.php;jpg或者1.php%00.jpg或者1.php/00.jpg

 

五、win系统解析漏洞绕过(win服务器比较难报出来,一般是知道它的绝对路径特点,有盘符可能为win   二是利用错误文件报错如正确为index.php,改为错误的1index.php 或者index.xxxx,如果报错服务器中间件信息为iis那它是win服务器)

绕过:

1、上传1.php(或者图片马),抓包改为1.php.

2、上传1.php(或者图片马),抓包改为1.php::$DATA

3、上传1.php(或者图片马),抓包改为1.php:1.jpg

4、上传1.php(或者图片马),抓包改为1.php::$DATA…….

 

六、中间件解析漏洞之apache

同样利用报错我们知道中间件信息

绕过:利用了apache从右向左解析漏洞

1、上传图片马,bp抓包为1.php.xxxx.abc

2、上传.htaccess文件(内容:SetHandler application/x-httpd-php

)(如果允许上传),再上传图片马

Ps:如果能上传.htacess文件,但不能解析,可以试试下面

内容改为


 
 
  1. <FilesMatch "filename">
  2. SetHandler application/x-httpd-php
  3. </FilesMatch>

Filename 为你想要上传的文件后缀名。如jpg  

然后我们再上传1.jpg图片马即可。

 

七、中间件之iis6.0 6.5 版本解析漏洞

  1. 上传图片马,抓包修改为1.asp;.jpg或者%00 /00也可以
  2. 上传图片马抓包,修改后缀为.asa、.cer和.cdx等,当然不检测内容和类型是直接上传也可以
  3. 上传图片马,抓包发现有保存图片的路径,如../upload/image

我们修改路劲为../upload/image/1.asp

(然后就会存在../upload/image/1.asp/目录,在这个目录下任何文件当作asp文件解析)   iis7.0也存在这漏洞

 

八、中间件解析漏洞之nginx

  1. 上传图片马,拿到图片马的路径,访问的时候加上/.php 就可作为php文件解析

如/upload/image/1.jpg/.php

 

九、中间件tomcat之后台文件上传

一般为肉口令进入tomcat后台,上传war包即可,shell.jsp-->shell.zip-->shell.war

 

十 、条件竞争漏洞

为特别漏洞,是文件上传进行验证的短暂时间内。

对传入的文件进行了临时保存,可能是一秒,也可能是0.几秒。

但在这短暂时间内php是可以解析的,如果解析的速度够快

绕过:

上传1.php文件,利用bp抓包,设置多线程,不断发包。

浏览器访问连接我们上传的1.php文件。

不断刷新,会在某瞬间,执行1.php成功。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值