SQL注入(三)

  又是一个美好的周末,今天为大家带来的是SQL注入的第三章。在正文开始前,我想向大家说下我在头条平台写文的初衷。首先是对黑客攻防感兴趣的各位开发者,解密黑客技术,由于之前没有写博文的经验,所以就我目前来写的看,层次简单,一点是说明黑客技术并非十分神秘,其次也是为大家有个由浅入深的过程,不过看到大家积极订阅,所以我就按自己的想法继续写了,多谢大家的支持,谢谢了。

  正文:在之前提到的SQL注入,我们利用到SQL检测工具,对默认路径进行扫描。这种方法简单快捷(并添加语句判断),为我们完成了大量手动输入代码。如果要了解详细的内容,自然需要SQL语言,不过为了方便大家学习,在这里会讲到一些简单的语句。如果之前你有用到前面提到的工具,进行了SQL注入检测,你会发现注入点一般(有其他特殊情况)地址格式通常为http://xx.xx.xx/asp?id=xx,这也正是使用SQL数据库的一般特征。在前文,我提到过,数据库的作用就是为了查询使用数据,但数据并非杂乱无章的,为了快速查询,我们设置表列并添加了相应的参数(id),这就是为什么你通常看到的注入点格式都是这样的了。但是,这并非说明符合该格式就存在注入点,所以我们要提交代码测试,我们可以在网页后面分别加上这些代码:“ ' ” “and 1=1” "and 1=2"(也可以是“  ' and 1=1 ” ) 。单引号在SQL语言是条件转义的作用,如果在一个正常网页上提交转义,网页就会报错,我们此时可以查看关于数据库设置的一些相关信息。

单引号


单引号

  之后我们可以进行具体判断,删除单引号,分别加入“and 1=1” "and 1=2"测试,在之前的文章中,我提到过SQL注入会利用到逻辑判断,所以我们通过对进行逻辑关系注入测试(这里and是逻辑关系“与”的意思)。之后会出现的结果是,1=1时候因为逻辑关系正确而正常显示网页(或有不同,但可以浏览网页),而1=2时候就会再次出错。

1=2

这时候我们就可以明确得出结论,该网页允许SQL注入(前提是没有防注入系统)。之后的步骤就和利用工具检测一样,我们要猜测对应的表名列名和对应的内容。

and 0<>(select count(*) from admin) ——判断是否存在admin这张表

and 0<(select count(*) from admin)  and 1<(select count(*) from admin)——猜测账号数目

and 1=(select count(*) from admin where len(*)>0)——猜测字段名称

这里提交的代码(还有未写出代码,不一一列举,如果没有学过SQL语言,推荐使用百度),也是利用到了数学逻辑判断。比如猜解账号数目,利用“与”判断admin表中,首先是否有账号,所以我们提交一个大于0,来测试,如果网页正常显示,说明我们提交的逻辑关系正确,如果出现错误页面,说明admin表中没有账号(前提是有admin表),admin表判断方法也是这样,利用网页是否出错来测试(需要我们不断提交合适的数据,直到正确)。一般的表名:admin administrator guest pass password等等(这些都都是未设置变化表名,管理员自己是可以设置的,甚至是“mima”“zhanghao”类表名)。如果猜对字段,接下来我们还要对它的长度进行判断。举个例子(这里还是在admin表中判断):

and 1=(select count(*) from admin where len(*)>0)判断是否存在值

and 1=(select count(*) from admin where len(name)>8) 判断字段长度是否大于8

如果符合字段长度大于8,那么网页就会正常返回,否则网页就会出错(这里笔者推荐设置测试长度为8,因为一般管理员对账号设置意识淡薄,不会超过8位)。如果猜对了,我们就要猜解每一位对应的具体内容。只需提交下面的代码:

and 1=(select count(*) from admin where left(name,1)=a)  测试用户名第一位是否是a

代码判断方法,如上。如果正确我们可以将a换做ad……admin如果都符合,账户就出来了。这里我就不一一赘述了,大家可以百度,或者买SQL相关书籍来学习。看来还是工具注入方便,了解了如何SQL手工提交代码注入的原理,作为管理员的我们又如何防止注入呢?

1.永远不要相信用户提交代码,或者加上代码过滤机制,对单引号,空格等等输入过滤,造成SQL提交语句不完整,则无法注入。

2.永远不要直接使用免费的CMS系统,通过SQL检测工具,我们可以快速地对服务器搭建的网站默认的许多路径进行扫描,例如上传地址,数据库地址以及后台地址,我们应该对使用的CMS的地址进行个人修改,也不要直接利用拼音,标记地址。

3.不要把钥匙放在门外,对于大多数的网站,是不提供数据库下载的,这样可以保证用户不会得知数据库的内容,这点非常关键。

其实,预防SQL注入的方法很多,但关键层面也是对SQL代码的正确构造,这样才是根本上做到防患于未然。

  当然,我们也有相应的绕过防注入的办法,如果感兴趣,大家可以自行百度,在这里不做过多赘述。如果对此感兴趣,我建议你可以系统学习SQL数据库的相应内容,包括之前章节提到的内容,都是SQL注入的基本,它十分简单,却能造成不小的损失(例如不做破坏,仅仅在数据库添加一个VIP账户,这种方法十分隐蔽,却会有不可挽回的损失)。如果你学习SQL数据库的相关知识,你会发现SQL注入也十分简单。黑客技术并非神秘难测,如果你愿意钻研,其实,不过是把魔术手法告诉了你而已。(如果有任何错误和问题请留言给我。)

本章节到此结束,下次我会开启新的一篇内容。目前我仍在整合上半年信息安全的相关知识和技术,希望不会令大家失望。最近有点忙,不过还是给大家带来了更新,希望大家喜欢。在最后推荐一个强大的注入工具“穿山甲”(Pangolin),使用方法和明小子 啊D大同小异,不过也有自己的优势,十分推荐,还有一点就是它是英文版的(深圳宇造诺赛科技有限公司(Nosec)旗下的网站安全测试产品之一),希望大家可以下载使用来熟悉,到后面会利用到更多英文软件。对了,造成后果笔者不负责(老调子了)。

穿山甲

  谢谢订阅和支持,每周更新!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/sq...
    道无涯_cc76阅读 1,919评论 0 2
  • 目录 什么是SQL注入SQL注入产生的原因SQL注入攻击方式如何进行SQL注入SQL注入三部曲 1.渗透攻防WEB...
    labixx阅读 1,512评论 2 14
  • [SQL注入攻击] SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式...
    James黄杰阅读 2,613评论 0 30
  • 注入攻击的分类 1.没有正确过滤转义字符 在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传...
    查无此人asdasd阅读 1,571评论 0 5
  • SQL注入 概念 危害 原理 实例 防御 基础 - ### SQL语句所用符号不同数据库的sql注入与提权常见S...
    yddchsc君阅读 1,291评论 1 10