[逛站]loveslive.top[XSS][SQL]

发布于 2021-03-08  23 次阅读


可能是世界上第一张木制银行卡

# 现可免费申请,无工本费、快递费、年费,中国可送达。

> 传送门:TreeCard

大前提

不渗透已备案内容合法的站点!
不渗透企事业单位站点!
不渗透政府站点!

前言

这个站是寒假的时候从哪个二次元群看见的,当时站点内容是ghs的来着,访问者还能自己传图啥的,当时因为比较忙,没注意到。

过了大概半星期想起来有这么个站,翻了半天聊天记录才找到这个站(群太多了

然后就随手试了一下,发现获取评论的api能注sql,然后看评论数据的时候发现表情是html存储的,于是搞出来个xss

加过疑似站长的QQ,没反应,留了个xss提醒网站不安全,似乎也没太重视(也可能重视了但是技术有限 )。

现在大概过了半个月了,抽空补写逛站的过程吧(对比刚开始的时候,站长确实有加固过的痕迹了)。

过程

打开站点,发现和刚开始的时候有区别了,换成https协议了。

虽然https确实比http安全,但是这个安全是对用户而言啊,对你网站本身的安全性并没啥帮助。

然后js屏蔽了F12,这个也是刚开始没有的东西。

脚本小子可能确实会在这里被拦住,但实际上也没啥用。

F12的话,我在你js加载之前按F12不就行了,也就是新标签页的时候。

file

大概找到了这个些个xhr数据。

file

先看第一个,/apiss/setu?currentPage={1}&types={0},果然是之前那个ghs的站没错了,神tmsetu

file

试了一下可以注入。

file

拉文章评论的这个,articleId也可以注。

file

这里可以看见返回的内容有html<img>被浏览器解析了,所以推出是有xss的。

另一个文章api,还是可以注。

file

最后一个去水印的api似乎有ssrf,但是报错了。

file

file

试了一下去访问我服务器上的靶站,但是靶站没打出日志,所以可能不是先访问后解析的脚本,而是直接分析url拿参数去构造无水印视频地址。

这里记录一下,站点路径是C:\Users\Administrator\Desktop\wxofficailAccpint,web程序是Node.js+express.js 4.17.1,服务器系统是Windows,然后似乎还有Nginx作为反向代理。

大概手测就这么多,因为感觉没必要测了,完全没有针对sql的防护,直接上sqlmap可能更方便吧。

file

而且还有dba权限。--is-dba

file

但是新版本没有读写文件的权限,比较难受。-sql-shell

show variables like '%secure%';

SELECT @@secure_file_priv;

file

于是想着用慢日志进行写shell,但是nodejs的shell写不来,告辞。

然后/static的目录穿越漏洞CVE-2017-14849也没成功,大概是用的高版本,已经修复了。

结语

由于技术比较菜,没能成功渗透进服务器,最多就拿sqlmap拉个整个数据库下来而已,对于这种小站没啥实质性影响。(毕竟没啥重要数据)

建议

  1. 使用SQL预编译功能。
  2. 表情包实现方式重构,摒弃html存储。
  3. 减少不必要的数据返回。
  4. 不要相信用户传递的参数,如IP归属地。(低风险的数据伪造)
  5. debug模式(报错功能)随用随关,管理员离线时依旧开启报错是憨批行为。
    ……

什么都会,但又什么都不会。