neoreg2.0分析

    渗透测试 lz520520 4年前 (2020-10-09) 765次浏览

    https://github.com/L-codes/Neo-reGeorg

    2.0作者做了不少改动,修改日志如下

    因为php问题,原本1.5 和我之前的修改思路差不多,会增加一条指令用于初始化session,CONNECT时主动断开来保证不阻塞,而2.0取消了这种做法。
    简单看了下各个脚本,均多了一个默认选项,在第一次发起请求时,不带任何头部字段,然后直接返回一个session

    neoreg2.0分析

    第二次请求开始,提交X-CMD头部字段,该字段不同以往的,除了指令以外,还新增了一个长度22的mark前缀,可以看到拼接到读写缓冲区的名称里,这样每次新的连接,均可以使用同一个会话,因为他们缓冲区名称在单个会话里并不冲突

    neoreg2.0分析

    neoreg2.0分析

    那么还有一点,因为php的socket是资源类型,无法保存在会话里,所以CONNECT请求时就是while循环,原本是主动超时断开连接,2.0版本比较巧妙,通过stream_set_blocking来设置为非阻塞模式,原本也是想找到这么一个函数,可惜之前没找到。

    neoreg2.0分析

    neoreg2.0分析

    PS: 这里是做了字段混淆

     

    还有一个比较好的功能,返回状态码设置为404,提供的参考命令

    怎么实现的呢,在各个脚本插入一段设置响应状态码的代码即可

     

    效果如下

    neoreg2.0分析

     

    其实我主要比较好奇的是2.0针对php之前的问题是怎么处理的,就顺便分析了下其他功能,目前暂时用到的就以上功能,其他的话以后用到再看看


    Security , 版权所有丨如未注明 , 均为原创丨
    转载请注明原文链接:neoreg2.0分析
    喜欢 (5)