您好,登錄后才能下訂單哦!
這篇文章主要介紹“MySQL怎么注入利用的變量”,在日常操作中,相信很多人在MySQL怎么注入利用的變量問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL怎么注入利用的變量”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
其中version()可以寫成@@version來把version當做變量來讀取,這樣一樣可以得到,其他的內置是不可以寫成變量的形式.
大家都應該用過利用pangolin來注入mysql庫的注射點,認真的朋友都應該知道可以的得到basedir和datadir這兩個變量的信息,其實還有更多的變量在注射的時候可以利用
我整理了幾個在注射的時候可以利用到,收集更多關于mysql的配置信息。
@@have_openssl如果mysqld支持客戶端/服務器協議的SSL(加密)則為YES
@@version_compile_os判斷系統類型
@@max_allowed_packet包或任何生成的/中間字符串的最大大小
@@max_user_connectionsMySQL賬戶允許的最大同時連接數,0表示沒限制
@@skip_networking如果服務器只允許本地(非TCP/IP)連接,該值為ON
@@table_type默認表類型(存儲引擎)
@@basedirMySQL安裝基準目錄
@@character_set_database默認數據庫使用的字符集
@@datadir數據庫存儲的地方
@@expire_logs_days二進制日志自動刪除的天數,默認是0,表示"沒有自動刪除"
@@group_concat_max_len允許group_concat()函數結果的最大長度
@@log_error錯誤日志的位置
@@lower_case_file_system該變量說明是否數據目錄所在的文件系統對文件名的大小寫敏感.
ON說明對文件名的大小寫不敏感,OFF表示敏感
@@lower_case_table_names如果設置為1,表名用小寫保存到硬盤上,并且表名比較時不對大小寫敏感.
MySQL怎么注入利用的變量?
如果設置為2,按照指定的保存表名,但按照小寫來比較
@@plugin_dir插件目錄的路徑
@@tmpdir保存臨時文件和臨時表的目錄
@@tmp_table_size如果內存內的臨時表超過該值,MySQL自動將它轉換為硬盤上的MyISAM表
@@sql_mode當前服務器的sql模式
@@tx_isolation默認事務隔離級別。默認值為REPEATABLE-READ
@@Connections連接mysql數據庫服務器的次數(不管成功還是失敗)
@@max_write_lock_count最大寫鎖數量
@@old_passwords是否啟用mysql323加密方式(就是mysql用戶密碼的hash是16位的)
@@Uptime服務器已經運行的時間
其中我感覺basedir/version_compile_os/log_error/group_concat_max_len這四個變量的作用很大,大家看上面的注視。
group_concat_max_len這個變量涉及到group_concat()的返回字符長度,所以在使用group_concat()來注射時候要注意長度的限制。
tips:group_concat()函數的利用如下
urland1=2unionselect1,group_concat(schema_name),3,4frominformation_schema.schemata
這樣的話,就可以把當前用戶中建立數據庫名全部顯示出來,在注射表名、字段名、字段屬性都可以使用,這樣的話又省了不少體力活。
同時group_concat()還可以繞過不能使用limit的現實,當然不嫌累的話,可以使用"!="的形式來繞過limit的限制。
到此,關于“MySQL怎么注入利用的變量”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。