問題タブ [mysql-loadfile]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - mysql で load_file() が機能しない
load_file() を機能させるために 2 晩苦労しましたが、結果は NULL です。バージョン「5.6.19-0ubuntu0.14.04.1」を実行しています。
例:
ファイルのパーミッション:
チェック済み:
- MySqlは実行され、ディレクトリを所有しています
- Mysqlはファイルを所有しています
- DB ユーザー = root
- ファイルサイズ < max_allowed_packets
- secure-file-priv が設定されている
- 実行中のアパマーはありません
secure-file-priv を設定しないと、/etc/passwd のような重要でないデータを簡単に読み取ることができます:P. 「/」からもインポートできますが、他にはありません。secure-file-priv を設定すると、「/」からのみ動作するようになります。
同じファイル、secure-file-priv セットなし:
何か案は?
mysql - MySql LOAD_FILE 奇妙なパーミッションの問題?
私は、SQL インジェクション攻撃の犠牲となった職場の Web サイトを管理しています。ログを調べると、攻撃者がファイル読み取りオプションを使用して、サーバーから多数の構成ファイルを取得したようです。これは、Web 開発者がずさんで、root mysql アカウントを使用して接続したためです (FILE 権限がありました)。sqlmap
これが私が理解しようとしている地獄のような奇妙な部分です。ファイルが読み取られたのは知っていますが、攻撃者がこれらのファイルの 1 つのパスワードを使用してシステムに侵入したためです。ログを見て、彼は最初にconfig.php と他のいくつかを参照する index.php をつかみました。それらはすべて標的にされました。
セキュリティを強化するために、sqlmap を取得してサーバーにアクセスし、その仕組みを理解した後、ファイルを取得することができました。
私たちの SQL サーバーは外部に面していないため、攻撃者はこれを試みることができませんでした。ここに奇妙な部分があります:
私は自分のデスクトップから私たちに接続し、選択と同様にMySQL server
試しましたLOAD_FILE
LOAD DATA INFILE into TABLE.
それらのいくつかは機能しました。たとえばselect LOAD_FILE('/etc/passwd')
、/etc/passwd.
しかし、それらのすべてが機能したわけではありません。
select LOAD_FILE('/var/www/site_name/index.php')
返され NULL
ました。
LOAD DATA INFILE '/var/www/site_name/index.php' INTO temp;
戻ってきた:
エラー 29 (HY000): ファイル '/var/www/site_name/index.php' が見つかりません (エラーコード: 13)
何?ファイルが見つかりません?は?
そのため、同じファイルに対して sqlmap を実行し、ダウンロードしました。
私はすべてを見ることができるように実行sqlmap
しまし-v 6
た-ファイルを取得するためにLOAD_FILEを使用していました。
インジェクション攻撃で LOAD_FILE が機能するのに、mysql クライアント コマンド ラインからファイルをロードすると NULL またはファイルが見つからないのはなぜですか? しかし、一部のファイルのみですか?/etc/passwd と /etc/hosts は読み取り可能でした。
どんな手掛かり?
php - MySQL ロード ファイルとアポストロフィ
| で区切られた 2 つのフィールドを含むテキスト ファイルがあります。改行で記録
私は3つの列(id、name、val)を持つMySqlテーブルを持っています//id autoincrement ...
そのため、mysql ロード ファイル機能を使用して値を name と val に挿入したいと考えていますが、主な問題はファイルのロード中のアポストロフィです ...
ロードファイルを介してクエリを実行中にスラヘスを追加する方法は?
mysql - SQL構文のみを使用して(PHPなしで)mysqlテーブルのブロブに画像を挿入する方法は?
- こんにちは、私は SQL を初めて使用し、データベースに画像を保存したいと考えていました。すでに blob データ型の列を作成しており、ここに示されている次のステートメントを実行しようとしました。
エラーを与える
SQL 構文にエラーがあります。
C:\Users\name\Desktop\New folder\a.png
4 行目の '( Bulk , SINGLE_BLOB) AS BLOB'付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。
hereのように、次のコードも試しました
エラーを与える
#1064 - SQL 構文にエラーがあります。
abc
使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してくださいimg
。
したがって、phpなどを使用せずに単純なSQL挿入ステートメントを使用して画像をブロブに保存する方法を教えてください。データベースにwampサーバーを使用しています。
- データベースを使用する代わりに、画像にファイル システムを使用する必要があることはわかっています。しかし、ファイル システムとは実際には何を意味するのでしょうか。アドレスがデータベースに保存されるファイルまたは画像ホスティング サイトを意味しますか。
mysql - Errcode: SQL Database にデータをロードするときの 13
ファイルを DB にロードしようとしています。
email.tsv ファイルには 3 つの列があり、作成した一時テーブルには 4 つの列があります。これが正しい構文かどうかはわかりません。ID主キー列を持つために4番目の列を含めました。
このコードを実行すると、次のエラーが発生します。
mysql - 他言語(中国語)の文字が???????に変わります。Mysql ロード クエリ
いくつかの列に中国語が含まれているcsv
ファイルがあり、クエリを使用して Mysql テーブルに csv ファイルをアップロードしています。
アップロード後、漢字がテーブルに変更さ????????
れていmysql
ます。なぜこれが起こっているのですか?解決策はありますか。
ありがとう:)