Uaf虚函数,一旦一个类有虚函数,编译器会为这个类建立一张vtable。子类继承父类vtable中所有项,当子类有同名函数时,修改vtable同名函数地址,改为指向子类的函数地址,子类有新的虚函数时,在vtable中添加。记住,私有函数无法继承,但如果私有函数是虚函数,vtable中会有相应的函数地址,所有子类可以通过手段得到父类的虚私有函数。
vptr每个对象都会有一个,而vptable是每个类有一个vptr指向vtable,一个类中就算有多个虚函数,也只有一个vptr,做多重继承的时候,继承了多个父类,就会有多个vptr
虚函数表的结构:它是一个函数指针表,每一个表项都指向一个函数。...
参考: 芋道源码 http://svip.iocoder.cn/
概览
可以看到,代码相当多,坚持就是胜利。
代码统计
可以使用IDEA Statistic插件。
使用shell命令
这个命令只过滤了部分注释,所以相比 IDEA Statistic 会偏多。
find . -name “.java”|xargs cat|grep -v -e ^$ -e ^\s\/\/.*$|wc -
dubbo模块示意图
dubbo-common
公共逻辑模块:提供工具类和通用模型。
通用模型: 比如com.alibaba.dubbo.common.URL:
...
单机模式
下载,并解压zookeeper
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
创建data和logs两个目录,用于存储数据和日志
ht@TIANJI:/mnt/d/zookeeper\$ cd zookeeper-3.4.13/ht@TIANJI:/mnt/d/zookeeper/zookeeper-3.4.13\$ mkdir dataht@TIANJI:/mnt/d/zookeeper/zookeeper-3.4.13\$ mkd...
前言长期陷于CRUD,能力只退不进,期待dubbo源码能给点转变
配置环境:
Intellij idea
maven
jdk1.8
git
开发工具: Intellij idea现将dubbo直接fork到自己的仓库中,然后使用Intellij idea直接从https://github.com/fengyuhetao/dubbo.git拉取项目。
启动demo项目
注册中心采用Multicast 多播(组播)
发现报错,如下:
1[20/09/18 04:37:14:014 CST] main WARN multicast.MulticastRegistry: [DUBBO]...
Webldabldap注入
参考链接:
https://www.cnblogs.com/r00tgrok/p/LDAP_INJECTION_AND_PREVENTION.html
http://www.4hou.com/technology/9090.html
正常语法:
(&(cn=s*)(|(sn=d*)(sn=r*))
payload:*)(|(ou=*
SSO首先获取auth code:
1234cl_id=1echo "POST http://web.chal.csaw.io:9000/oauth2/authorize"auth_key=$(curl --silen...
备忘录,仅用来记录一些操作,具体环境可以参考红日安全
Miscpythonforfun123def fun(___________): c = a + b return c
填充参数,然后返回结果。
输入a, b正确。
给b赋予默认值b=dir()[0],正确。
注意:
1eval()函数只能计算单个表达式的值,而exec()函数可以动态运行代码段。
列目录:
def fun(a, b=print(exec("import os"),eval("os.listdir('.')")))
如果需要eval执行python代码,可以使用compile()构造代码, 并使compi...
ubuntulnmp
安装nginx
sudo apt-get install nginx
安装php
sudo apt-get install php
安装php-fpm
sudo apt-get install php-fpm
配置 /etc/nginx/
12345678910# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000#location ~ \.php$ { include snippets/fastcgi-php.conf; # With php7.0...
level1获取数据表的结构:
须知:
12345678910111213141516171819202122232425262728293031323334sqlite> pragma table_info(users);+-----+----------+---------+---------+------------+----+| cid | name | type | notnull | dflt_value | pk |+-----+----------+---------+---------+------------+----+| 0 | id ...
SimpleAuth123456789101112131415161718192021222324252627282930313233<?phprequire_once 'flag.php';if (!empty($_SERVER['QUERY_STRING'])) { $query = $_SERVER['QUERY_STRING']; $res = parse_str($query); if (!empty($res['action'])){ $action = $res['action']; }}i...