SQL注入攻击原理解析

SQL注入成因:所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的。SQL注入攻击原理:当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的帐户连接到数据库,这种问题会变得很严重。在某些表单中,用户输入的内容直接用来构造动态sql命令,或者作为存储过程的输入参数,这些表单特别容易受到sql注入的攻击。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况,需要构造巧妙的SQL语句,从而成功获取想要的数据。SQL注入危害:攻击者可以获得网站敏感信息,例如:网站管理员的用户名以及密码。从而对网站的信息进行窃取或篡改。入侵操作步骤:一、找一个类似http://xxx.xxx.xxx/abc.asp?p=YY的网站。二、在http://xxx.xxx.xxx/abc.asp?p=YY后面追加“and1=1”,并访问该网址即http://xxx.xxx.xxx/abc.asp?p=YYand1=1应该与访问原地址得到的结果相同。三、在http://xxx.xxx.xxx/abc.asp?p=YY后面追加“and1=2”,并访问该网址即http://xxx.xxx.xxx/abc.asp?p=YYand1=2应该与访问原地址得到的结果不同,并提示数据库错误。(二,三同时满足则此网站必定存在SQL漏洞。)四、访问http://xxx.xxx.xxx/abc.asp?p=YYandexists(select*from网站数据库常用表段名)网站数据库常用表段名:adminusersadministrator等,如果进入的网页像步骤二一样,是正常网页,证明存在该表段名。找寻该SQL数据库使用的表名,进而寻找网站的管理员名、密码等信息。我们可以通过Socket编程,把常用表段名写成一个链表,通过Socket编程遍历一边,并找到可入侵点。五、访问http://xxx.xxx.xxx/abc.asp?p=YYandexists(select[网站数据库常用字段名]from第四步找到的可入侵表名)网站数据库常用字段名:adminpasswordusername等,如果进入的网页像步骤二一样,是正常网页,证明存在该字段名。找寻该SQL数据库使用的字段名,进而寻找网站的管理员名、密码等信息。我们可以通过Socket编程,把常用字段名写成一个链表,通过Socket编程遍历一边,并找到更多有用的信息。六、访问http://xxx.xxx.xxx/abc.asp?p=YYandexists(select*from第四步找到的可入侵表名where第五步找到的可入侵字段名like'_‘)下划线的长度等于猜测的字段名长度,adminpasswordusername等,如果进入的网页像步骤二一样,是正常网页,证明“_”的长度为该字段长度。找寻该SQL数据库中字段名例如admin、password等字段的长度,进一步得到某些字段的长度信息。我们可以通过Socket编程,写一个for循环,测试各敏感字段的长度。七、利用第六步中得到的下划线的长度,把其中部分下划线替换为a-z或0-9穷举出字段值。我们可以通过Socket编程,写一个for循环,得到具体字段值。八、访问http://xxx.xxx.xxx/可入侵后门字段名,找到网站后门。我们可以用Socket编程穷举常见网站后门地址。九、利用从数据库中查到的敏感数据进入网站后门。如何防止SQL注入:1>在后台方面:1)永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换等。在构造动态SQL语句时,一定要使用类安全(type-safe)的参数加码机制。大多数的数据API,包括ADO和ADO.NET,有这样的支持,允许你指定所提供的参数的确切类...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?