如何入侵HDU

无论是出于哪种情怀,每个黑客都希望黑一次自己的母校。
而对于杭电的网站,我的情怀是畏惧的。 ———— 毕竟它带了一个很厉害的WAF
大一时候我不敢,因为阅历不够。
大二时候我不敢,因为经验不足。
现在我终于想来挑战一下了。

首先杭电的WAF 在我眼里是这样的
[客户] -> [WAF服务器(代理)] -> [内网服务器(HTTP服务)]

使用大量payload轰炸WAF,得出几个可以简单判断是否为注入的payload

id=3333.0or 1=1
id=3333.0%26%26 1=1

主要是因为整个防火墙对 select 特别敏感,敏感到我fuzz出来他的判断是类似

[a-zA-Z0-9_]select[a-zA-Z0-9_]

这样才会白名单放行,其他字符统统...
因此几乎不可能注入出来数据,当然不排除用这招:

load_file("c:\\www\\config.php") like "%%"

拿到数据库配置文件再进行外网连接MYSQL服务器的想法。
当然我在一个注入点始终找不到WEB的真实路径,后来看了下,3306端口也是关闭的,放弃。

后来听老司机说,闪讯其实是在杭电某个内网的,可以访问内网服务器,我瞬间来了精神,毕竟我是用闪讯的高端玩家。

老司机还开了一个网站在杭电的内网服务器中,贴心的给我写了个 xxx.php 功能类似 gethostbyname() 给我一个C参数,这样也省的我去扫描网段,直接用域名去查询内网地址,然后修改一下 HOSTS 文件,做一个假的域名绑定。

现在,我的局面变成了
[客户] -> [内网服务器(HTTP服务)]
我开心的笑了。

呵呵哒,变你妹啊,内网似乎还有一个防火墙!
没错,竟然用了两只防火墙!
我的局面现在是
[客户] -> [内网防火墙] -> [内网服务器(HTTP服务)]

当然后来发现有些网段其实依旧用着那个透明代理的防火墙。

挑战一下这只防火墙,发现比代理防火墙脆弱一些,嘻嘻嘻,开工。

有些函数被防火墙拦截,直接返回 CONNECTION_ABORED,这点不好,大多数可以用 反单引号+函数名+反单引号+() 绕过之

然后我又陷入了窘境。 information_schema.schemata
information_shema[*]. 这一段竟然在防火墙 黑名单,也就是出现 information_schema,无论后头还有啥,总之是不能有.了
呵呵哒

估计是有绕过办法,但显然超出我的能力范围~
不能查询表名,只能猜表名了,猜了几个注入点,都不对,最终猜到一个,老天开眼啊!

最后有payload

id=2222.0and%20(select`password`from(user)%20limit%201)like("ce13e012c61d9db6253b4d2e%")

这网站还总是挂,花了半小时才猜出来一整串MD5,查询之,发现明文。

猜后台为

/index.php/admin

登录!成功拿下!是时候拿shell,提权,内网渗透,修改成绩,哦呵呵呵呵呵~~
我已经迫不及待看到加载条读满然后进入绚丽的后台界面了呢!!
...
...
...
后台

去你妹的,老子不玩了!