
扔掉工具,让你飞速学习手工注入.txt
6页前言:现在的网络,脚本入侵十分的流行,而脚本注入漏洞更是风靡黑客界不管是老鸟还是新起步的小菜,都会为它那巨大的威力和灵活多变的招式所着迷!正是因为注入攻击的流行,使的市面上的注入工具层出不穷!比较出名的有小竹的NBSI、教主的HDSI和啊D的注入工具等等!这大大方便的小菜们掌握注入漏洞!可是,工具是死的,注入的手法却是活的,能否根据实际情况灵活地构造SQL注入语句,得到自己想要的信息,是[被屏蔽的不受欢迎关键词]高shou与小菜的根本区 ! 工具,而不 管它的 ,是不可能得到 高的, ,在 到 情况的 ,那 会 工具的小菜们 能 !所 会手工注入自己构造SQL注入语句是 黑客 上的 ! 这 ¡¢能£⁄那 还不会手工注入的¥ƒ §currency1'!“«大‹›fifl 工具,›fi–入[被屏蔽的不受欢迎关键词]高shou的行†!‡· ¶:要想 会手工注入,有 名词是不得不 的,那•是‚据„”»!1…‰ ‚据„”»分为‚据„和‚据„管 ”»!‚据„是 ‚据的地方,‚据„管 ”»¿是管 ‚据„的`!‚据„´‚据的 ˆ˜构¯‚据˘˙!有¨ ˚¸的‚据˘˙,分 是层 ˘˙、网˝˘˙、关”˘˙和面˛ˇ—˘˙。
´关”‚据˘˙是 主要的‚据˘˙,ACCESS、MSSQL、ORACLE等都是关”˘˙‚据„”» ´ ACCESS、MSSQL‚据„”» 为˚¸!这 都是 的 , 大‹ !2 本 : 是 关”‚据„的 本 !它 行与† † Æ关信息 ˚行ª为 ,†ª为 ª为 ŁØ! Œ 都º多 ŁØ ŁØ的名ٝ ŁØ名, ŁØ的 ¯ ŁØ ´的 行 Œ 都 有想æ的 构! 11´的这ı 有14行, 14Œ 有4†, 4 ŁØ,4 ŁØ的名Ł分 ¯:job_id ł面ˇø的1、2、3等都是这 ŁØ的 ,œ面ß ŁØ的 ß! 、job_ desc、 min_lvl、max_lvl因为本¡不是 讲‚据„ 的,所 这 讲 重要的 ,有兴趣的¥ƒ可自己 查看‚据„的有关资料!3注入的Œ`有调 ‚据„的动态页面才有可有 在注入漏洞,动态页面包括asp php jsp cgi等本¡ 讲ˇASP页面的注入那什么是调 ‚据„的页面呢?比 这样的形势:asp?id= php?id= 这样的样子的都是调 ‚据„的页面"?"œ面加的id的名ٝ变量,注意这 变量是可 随便换的,"="号œ面的 名ٝ参‚!这 参‚ 是可 变的!大‹的思路 定要灵活,要 会 ß,不要太死板!4。
注入漏洞的 分析:程序ˇ 户 交的变量没有进行有效的过滤,•直接带入查询语句´,这样, 们•可 交具有‚据查询功能的语句,加入到程序将要 交的信息´ ,再根据服务器返回的信息来判断‚据„ 的内容!光这样说大‹可能不太 ,不要紧,接着往ł看有关的 ¶已经讲完 ł面开始实战练习部分!实战部分果是刚刚接触注入的新手¥ƒ, 们要 的第 步•是, 鼠标右键§击桌面上的IE 标,再§属性,œ再§“高级”, œ往ł拉滚动Œ,找到“显示ƒ HTTP错误信息”,把前面的勾 掉,再§“确定”,这样 是为 让 们得到更多的服务器返回的信息!第 部分:ACCESS‚据„手工注入1判断是否 在注入漏洞:这 Æ信大‹都ø该 道! •是在 调 ‚据„的网址œ面加上分 加上 and 1=1和 and 1=2 ,果加入and 1=1返回正˚ •是和 来没有加 and 1=1 页面样子的 样),而加入 and 1=2返回错误和 来没有加 and 1=2 页面的样子不 样 ,•可 证明这 页面 在注入漏洞比 : 网页, 们在œ面加上 and 1=1(两 空格,and前面 ,and和1=1之间 !),网址•变 and 1=1, IE打开这 网页,返回正˚!再尝试在œ面加上and1=2,网址•变 and 1=2,æ样 IE打开这 网页,返回错误!这•说明这 网页 在注入漏洞,是 注入§! 在注入漏洞的网页¯注入§! 可是,并不是所有的页面都可 这样判断,有的页面不管你加入 and 1=1 还是 and 1=2,返回的都是错误的页面,难道这样的页面•没有注入漏洞吗?不 定!比 这 页面: 不管 们在œ面上的是and 1=1还是and 1=2,它都返回错误的页面!这 们•要尝试另 方法来测试漏洞 ,这 方法可 说是and 1=1和and 1=2的变 方法。
来的网址是这样的: 们把它变 这 样子:[url] and '1'='1 , IE打开它,看看返回正不正˚! 果正˚,那•可 接着 这 地址来进 步测试漏洞是否 在 果返回不正˚那这 页面•很有可能不 在注入漏洞! :[url] and '1'='2, IE打开这 网址, 果返回错误的话,那这 网址 在注入漏洞!A‚Ł˙参‚注入§分析!这 肯定有¥ƒ要问 ,为什么 开始那 and 1=1 and 1=2不行呢!呵呵,先不要急,先看看这两在注入漏洞的页面有什么不 样?你不要告 第 网址比第 网址多 X ,Æ信大‹已经看到 ,第 网址œ 的参‚是ade7,是Ł !而第 网址œ 的参‚是7,是‚Ł!•是因为这 ,才 起 测试漏洞的语句的不æ!过‚据„的¥ƒ们ø该 道,在查询´,Ł ˙的 ,是要 号包起来的, •是这 样子'Ł ˙‚据'这 第 注入页面所ˇø的查询语句是这样的 是调 ‚据„的页面都会有 Œ Œˇø的查询语句, 来ˇ‚据„ 的内容进行查询! :select * from 名 where id=7这是 来的那Œ查询语句,这Œ语句是正确的,可 在‚据„´查询出Æø的内容!可是 果 们在网址œ面加上 and 1=1,那这Œ查询语句•会变 select * from 名 where id=7 and 1=1(这ł 道 注入漏洞 分析那 讲的变量没有过滤的意思 ! ,这 有要说 ‚据„的有关 ,这Œ语句 ,and是 ! 这 •行 , ´¡ 过来•是“和”的意思!在高´的‚ 讲过, “和”来 接的两 句子, 都是 的,不 句子•不是 的!比 : 果和大—都是 果。
这句话•是错的, 果是 果,可是大—不是!这ł大‹ø该可 “ “和”来 接的两 句子, 都是 的,不 句子•不是 的”这句话 果换 果和 都是 果,那这句话•是ˇ的 道 and的 œ,再回来看select * from 名 where id=7 and 1=1这 句子,and 前面的select * from 名 where id=7肯定是ˇ的, 为什么呢, 果这Œ查询语句都不ˇ,那这 注入页而•有问 !所 and前面的那 句子 定是ˇ的! 再看andœ面,1=1,不说 , 是ˇ的 难道 不等 吗? 根据刚才说的and ,现在 们可 判定select * from 名 where id=7 and 1=1这Œ查询语句, 是ˇ的!所 它还是可 正确地 ‚据„ 查询出信息,返回⁄ 们!ß,那这 句子:select * from 名 where id=7 and 1=2,肯定是不ˇ的 ,那这Œ查询语句•不能正确地 ‚据„ 查询出信息,所 们•会看到 错误的页面! 上是注入§参‚是int( ‚˙ 的分析!BŁ ˙参‚注入§分析和刚才 样, 们先来看第 Ł ˙注入页面 的查询语句,比 是这 select * from where id='ade7'(为什么加 号?看前面 !)。
来的查询语句是这 样子的, 果 们还 ‚Ł˙参‚的那测试漏洞的方法的话,语句•会变 这样:select * from where id='ade7 and 1=1'和select * from where id='ade7 and 1=2' ,因为程序会自动查询 号 的内容, 果 们 前面这两 语句这样 交的话,程序•会查询id 为ade7 and 1=1和ade7 and 1=2的 ,这样是查不到 果的 你可不要告 ‚据„ 正 有两 的id•是ade7 and 1=1 和and 1=2 这 可能有¥ƒ要问 ,为什么不是查询id为'ade7, œand 1='1呢? , 现在回¡你们,• 可 查询id 为'ade7的 ,那这 句子 是错的,1¢么会等 '1呢?ˇ ?更£况程序是不可能查询'ade7的,更⁄¥的说是‚据„´不可能有 ŁØ的 是'ade7,因为这 Ł ƒ§ 号, 果直接把这 Ł ƒ 入‚据„的话,程序会currency1错的!¢么样?明' ?现在再说 ' and '1'='1和' and '1'='2来测试的的 !æ样是这 查询语句: select * from where id='ade7', 果 们在网址œ面加 ' and '1'='1,那这 查询语句•会变 select * from where id='ade7' and '1'='1'(这 “面的那 层 号是程序自动加上的),变 这 样子!这 语句ˇ不ˇ呢? 们分析 ł。
果 们 交 语句,那程序•会自动查询id 是ade7的 !因为这 是 在的 不 在的话那•是这 网页有问 ! , andœ面 的'1'='1'是正确的,所 这 语句是正确的! 果 们把' and '1'='1换 ' and '1'='2,那语句•select * from where id='ade7' and '1'='2', 看œ面 们•可 道这 语句ˇ不ˇ !'1'¢么可能等 '2'呢?是 ? ,Ł ˙参‚的注入§的 •‰«到这 !2‚据„‹˙的判断在确定 地址是注入§œ, 们›先要判断这 注入§所 接的‚据„的‹˙!这 ‰« … 的方法 果 判断不出来•再换另 判断方法!A在注入§œ直接加上 号有的 们可 根据服务器currency1错的信息来判断它 的是什么‚据„ 2! 过这 错误信息 们可 看出来这 注入§所 接的‚据„的‹˙是ACCESS,为什么呢,fifl看!它说的是Microsoft JET Database Engine – '80040e14' ,说明是 过JET † 接‚据„,而不是ODBC! 果是 JET方法 接的话•说明 的是ACCESS‚据„, 果是ODBC的话•说明‚据„是MSSQL!这 •行 。
实还有‡fl的错误信息,它直接把‚据„的‹˙告 你 !因为 没有找到这样的注入§,这 •·不 大‹ 的到话肯定 •可 看出来!B在注入§œ加上 注意,你先确定 它是注入§œ再加,不是注入§你加 没 !): ;-- 分号,两 ¶•! 比 这 网址 们‚先已经确定 它是注入§ , 这样的话 们•可 在œ面加上;--让它变 交这 网址, 果页面返回正˚的话,。
