当前位置:首页 > 网络安全 > 正文内容

WEB攻防系列之SQL注入

访客3年前 (2021-04-13)网络安全441

所谓的SQL注入、XSS、溢出等的缝隙,归根结底,便是代码注入的问题,导致代码注入缝隙的发生的原因是由于代码和数据没有别离,即程序所处理的数据和程序的代码混在了一同,没有清晰的区别。。。
而SQL注入发生的主要原因也便是用户所提交的数据被当作代码来履行,请看下面这个获取文章内容比如(省掉了部分代码):$id = $_GET["ID"];$sql = ‘SELECT * FROM article WHERE ID=’.$id;$mysqli->multi_query($sql);?>留意看,当我们要检查这个某个文章的时分,就提交这个文章的ID(一般的网站关于这种恳求都是运用GET恳求的,即用户可容易在URL上修正恳求的内容。假如是POST恳求的,可通过抓包改包或是修正网页内容进行修正恳求),就会把SQL句子中的$ID变量赋值为当时用户提交的数据进行SQL查询。例如:当用户检查一篇ID为3的文章,那么此刻的URL为
http://www.xxx.com/article.php?ID=3;
此刻服务器$_GET["ID"]所得的值便是3了。在通过SQL句子拼接之后,所得的SQL句子就变为
SELECT * FROM article WHERE ID=3;
当然,这个是程序员所希望的完成的,但黑阔们看到的不是功用,而是缝隙!!
由于存在SQL注入缝隙的要害条件是SQL句子拼接了用户能操控的变量,这个条件,在以上的比如中就契合了,所以黑阔彻底能够提交歹意SQL句子与原恳求的内容拼接成一个程序员彻底没想到的歹意SQL句子提交给数据库引擎去履行。。。
假定黑阔在本来的URL后添加如下的句子:
;DROP TABLE admin–即本来的URL变为:http://www.xxx.com/article.php?ID=3;DROP TABLE admin–留意,$_GET["ID"]此事的值就不再是3了,而是3;DROP TABLE admin–了。那拼接后的SQL句子会是怎样的呢?!那便是:SELECT * FROM article WHERE ID=3;DROP TABLE admin–
好了,那我们来剖析一下这个SQL句子。。。
首要,会履行:SELECT * FROM article WHERE ID=3,这是一个正常的SQL句子吧?!,是查询文章的内容的。 问题是,履行完这个之后,会再履行:DROP TABLE admin 而这个便是一个歹意的SQL句子了,它的作用是删去admin这个表,这样就导致数据库的数据丢掉了,是一个十分风险的句子,相同的,我也能够删去article这个表,导致此网站一切的文章丢掉!!很凶恶吧?!!当然,现在用multi_query函数的也比较少了,大多数都是用mysql_query函数,但别以为这样就能够防止SQL注入,由于提交的数据仍是被拼接到了SQL句子中,只需结构好歹意的SQL句子,进行SQL注入也是垂手可得的。例如:在本来URL后参加 order by X(X是数字),就能够猜字段数,别的还能够加Union句子也能够做到句子的拼接进行进犯(需求SQL引擎版别的支撑,Access数据库不支撑),详细的一些进犯技巧,我们能够Google或百度一下,这方面的材料许多,我也没必要展开讲。。。  这也是一个典型的SQL注入的比如,可是实际中,有一大部分小白程序员都会写出这样显着的缝隙代码!!(留意这个句子后边的–,这是MYSQL句子中的注释,用于注释掉后边的内容,防止句子履行过错,由于黑阔一般状况下是不能精确的知道你的SQL句子的结构的)
可是一般的黑阔是不会做这些的,由于做这些对他们自己没有任何好处,他们大部分的意图不是删去你网站的数据,而是要拿到这个网站的shell乃至是服务器权限。所以,他们通常会使用SQL注入去结构歹意句子来获取WEB管理员的后台帐号和暗码,然后去登陆后台,进行进一步的浸透(假如数据库用户的权限足够高,黑阔能够直接获取体系权限),这儿就不扩展了,有爱好的童鞋能够Google或百度一下,这方面的材料也是许多的,我们论坛也有不少。。。
再来看一个很经典的SQL注入比如,那便是全能暗码。或许有些人会觉得,全能暗码的问题怎样和SQL注入扯一同了呢?!事实上,呈现全能暗码这种缝隙,实质便是SQL注入,这在 代码注入(番外篇)上现已总结过了,我就不再总结了,直接仿制过来吧。。。
看发生全能暗码的缝隙代码:
$username = $_POST["username"];$password = $_POST["password"];$result = mysql_query(“SELECT * FROM Users where UserName=’$username’ and PassWord=’$password’”);if(mysql_num_rows( $result ) > 0){echo ‘alert(“login is true!”);window.location = “index.php”’;}
当黑阔提交 ‘or 1=1– (全能暗码)的时分,提交的内容被注入到SQL句子中,这时分有几种状况,这儿罗列两个:
1. 当黑阔猜想用户名为admin,暗码提交全能暗码的时分,SQL句子变为:
SELECT * FROM Users where UserName=’admin’ and PassWord=”or 1=1–’

[1] [2] [3]  黑客接单网

扫描二维码推送至手机访问。

版权声明:本文由黑客接单发布,如需转载请注明出处。

本文链接:http://therlest.com/106354.html

分享给朋友:

“WEB攻防系列之SQL注入” 的相关文章

创业板投资风险揭示书,创业板风险揭示书

保荐机构(主承销商):中泰证券股份有限公司 苏州天路光科技股份有限公司(以下简称“天路科技”、“发行人”或“公司”)首次公开发行不超过2579万股普通股(a股)(以下简称“本次发行”)的申请,已经深圳证券交易所(以下简称“深交所”)创业板上市委员会委员审议通过,并经中国证券监督管理委员会(以下...

干洗对衣物有害吗

干洗对衣物有害吗 干洗剂实际上就是有机溶剂,所以对衣服多少都有点危害,只不过高级的干洗剂对衣服损伤小一些而已。 随着人们工作的繁忙和生活节奏的加快,现代人更多地把换下的衣物送到洗衣店干洗,以保证衣服不变形和有更多的时间休闲娱乐,这本是一件提高生活品质的好事,但据最新的研究显示,干洗衣物对身...

最近猪价为什么下跌,下半年猪价走势预测

但消费端需求不旺。据了解,将远小于2011年。2016年到2017年,能繁母猪存栏量持续下行2015年猪价格,虽然我不是专业,及下半年生猪价格行情分析及预测中国肉类协会-中国肉业网2009-4-229:02:152009年春节过后。 一是猪价走势不乐观,猪价下跌的原因,不一样一头猪如果是300斤的话...

黄埔燃料油现货价格_今日燃料油市场价格

这句话是指期货比现货价格高100元吗,柴油,1%的权重都没有,通过技术指标和消息面影响来分析的。有的有点差,点88 国际燃料油收盘价涨跌新加坡。244点5 国内燃料油,燃料油,作为成品油的一种,屈居第二位,有的高点有的低一点,2。97#汽油5点38元/价格升,在原油的加工过程中,常关注的消息为OPE...

记一次阿里云主机accesskey泄露到图形化工具开发

简介 在日常渗透过程中我们经常遇到信息泄露出ALIYUN_ACCESSKEYID与ALIYUN_ACCESSKEYSECRET(阿里云API key),特别是laravel框架得debug信息。APP中也会泄露这些信息。 !!!下载链接在文末!!! 概述 我们说下阿里API有什么用吧,以下是...

600斤蓝鳍金枪鱼价钱,中国蓝鳍金枪鱼分布

眼不大,上身躯则是深蓝色,因此它们作为分开的种群金枪鱼来进行管理。零下60度的是380元每公斤。发布:股城消费在生活中很多人都吃过金枪鱼,美容减肥的好食物,价格不同!油脂较少。加拿大12岁女童詹娜钓上一条616磅,小鳍则是呈现微黄色。 ,蓝鳍金枪鱼是金枪鱼类中最大型的鱼种。大西洋和太平洋蓝鳍金枪鱼三...

评论列表

断渊鹿岛
2年前 (2022-06-13)

* FROM article WHERE ID=3,这是一个正常的SQL句子吧?!,是查询文章的内容的。 问题是,履行完这个之后,会再履行:DROP TABLE admi

囤梦猫爷
2年前 (2022-06-13)

sqli->multi_query($sql);?>留意看,当我们要检查这个某个文章的时分,就提交这个文章的ID(一般的网站关于这种恳求都是运用GET恳求的,即用户可容易在URL上修正恳求的内容。假如是P

青迟绅刃
2年前 (2022-06-13)

m/article.php?ID=3;DROP TABLE admin–留意,$_GET["ID"]此事的值就不再是3了,而是3;DROP TABLE admin–了。那拼接后的SQL句子会是怎样的呢?!那便是:SELECT * FROM arti

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。