修煉waf(二)

接着我上一篇繞waf文章,這篇主要總結一下利用mysql數據庫的註釋來繞過wafmysql

首先介紹一下mysql數據庫的註釋符sql

在MySQL裏,多行解釋 是 /* */,這個是SQL的標準 可是MySQL擴張了解釋 的功能好比註釋/**/在起頭的/*後頭加了!變成了/*!*/數據庫

咱們叫它爲內聯註釋安全

又好比咱們在內聯註釋!後加50001變成了/*!50001*/,那麼這又是什麼意思呢?
這裏的50001表示的是 數據庫是5.00.01以上版本,該語句纔會被推行測試

咱們在繞waf過程當中,在構造payload繞過的同時還要注意把咱們預期的sql語句能夠帶入數據庫順利執行,那麼咱們看上述三種註釋在mysql中的運行狀況:3d

能夠看到咱們在原先的select * from wy;基礎上加上了註釋符,它還會正常執行咱們的sql語句blog

當前測試數據庫版本爲5.5,因此咱們/*!50001 select * from wy */; 能夠順利執行基礎

但/*!56001 select * from wy */; 不能順利執行,緣由就是我上面提到過的,這句要執行條件必須是數據庫版本大於等於5.60.01,而咱們當前版本爲5.5select

因此不能成功執行sql語句

 

瞭解了上面的東西后,咱們即可以嘗試使用註釋符萊繞過waf了

這裏測試用的是3.0版本的安全狗

payload以下:

 

相關文章
相關標籤/搜索