php&Java反序列化与xxe&xml

php反序列化
1.原理:未对用户输入的序列化字符串进行检测,导致攻击者可以控制反序列化的过程。从而导致代码执行,sql注入,目录遍历等不可控的后果。在反序列化的过程中自动触发了某些
魔术方法。当进行反序列化的时候就有可能触发对象中的一些魔术方法。
serialize() :将一个对象转换成一个字符串。
unserialize() :将字符串还原为一个对象。

2.技术
 有类: 触发魔术方法: -construct,destruct,wakeup,tostring……
 无类:

3.危害:sql注入,代码执行,目录遍历

Java反序列化
1.序列化和反序列化
  序列化:将对象的状态信息转换为可以存储或传输的形式的过程。
 反序列化:从存储区中读取该数据,并将其还原为对象的过程。

2.序列化标志参考
 一段数据以rooab开头,你基本可以确定这串就是Java序列化base64加密的数据。
 一段数据以aced开头,那么它就是这一段Java序列化16进制。

3.payload生成工具:ysosrerial

xxe与xml之利用检测绕过全解
1.玩法-读软件
<?xml version="1.0" ?>
<!DOCTYPE ANY [
    <!ENTITY xxe system "file://d://test.txt">
]>
<x>&xxe;</x>

2.玩法-内网探针或攻击内网应用(触发漏洞地址)
3.玩法-rce
 该case是在安装expect扩展的php环境里执行系统命令。

4.引入外部实体dtd<类似引入远程读取>
5.无回显-读文件
 用它访问外部实体,再开启外部自己的购买服务器日志,从而获得回显。

6.协议读文件绕过
参考:http://cnblogs.com/201752111yz/p/11413335.html
<?xml version="1.0" ?>
<DOCTYDE ANY [C!ENTITY f SYSTEM
    "php://filter/read=convert.base64-encode/resource=xxe.php">]>
<x>&f;</x>

  (1).编码方式绕过:utf-16be  [当system,file等词被过滤]
  (2).data://协议绕过  [当http 被过滤]
      file://协议+文件上传
      php://filter协议+文件上传
7.xxe漏洞发现
  人工:数据格式类型判断
           content-type值判断   a. text/xml     b. application/xml
           更改content-type值看返回。

8.推荐一个攻击机(环境变量齐全):ninjustu

9.xxe注入工具:xxeinjector   备注:需要ruby环境
  参考:http://github.com/enjoiz/xxeinjector  
                                  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ee .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值