【LSP】sql手工注入

综合技术   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2020-10-4

扔掉工具,让你飞速学会手工
注入前言:现在的网络,脚本入侵十分的流行,而脚本注入漏洞更是风靡黑客界。不管是老鸟还是新起步的小菜,都会为它那巨大的威力和灵活多变的招式所着迷!
正是因为注入攻击的流行,使的市面上的注入工具层出不穷!比较出名的有小竹的NBSI、教主的HDSI和啊D的注入工具等等!这大大方便的小菜们掌握注入漏洞!可是,工具是死的,注入的手法却是活的,能否根据实际情况灵活地构造SQL注入语句,得到自己想要的信息,是[被屏蔽的不受欢迎关键词]高shou与小菜的根本区别!只用工具,而不去管它的原理,是不可能得到提高的,当然,在遇到一些特殊情况的时候,那些只会用工具的小菜们也只能放弃了!所以学会手工注入自己构造SQL注入语句是一个黑客爱好者必上的一堂课!我希望这篇文章能够给那些还不会手工注入的朋友一点启发!帮助大家早日摆脱工具,早日踏入[被屏蔽的不受欢迎关键词]高shou的行列!
恶补基础:要想学会手工注入,有一个名词是不得不提的,那就是数据库系统!
1。简介数据库系统分为数据库和数据库管理系统!数据库是存放数据的地方,数据库管理系统则是管理数据库的软件!数据库中数据的存储节构叫数据模型!有四种常见的数据模型,分别是层次模型、网状模型、关系模型和面向对象模型。其中关系数据模型是最主要的数据模型,ACCESS、MSSQL、ORACLE等都是关系模型数据库系统。其中以ACCESS、MSSQL数据库系统最为常见!这些都是理论的知识,希望大家理解!
2。基本概念表:表是一个关系数据库的基本组成元素!它按行与列组合排列成相关信息。通常行称为记录,列称为域。每个域称为一个字段!每一条记录都由多个字段组成。每个字段的名字叫做字段名,每个字段的值叫估字段值。表中的每一行即每一条记录都拥有想同的结构!
3。注入的条件只有调用数据库的动态页面才有可有存在注入漏洞,动态页面包括asp php jspcgi等。本文只讲对ASP页面的注入。那什么是调用数据库的页面呢?比如这样的形势:asp?id= php?id=这样的样子的都是调用数据库的页面。"?"后面加的id的名字叫变量,注意这个变量是可以随便换的,"="号后面的值名字叫参数!这个参数也是可以变的!大家的思路一定要灵活,要学会举一反三,不要太死板!
4。注入漏洞的原理分析:程序对用户提交的变量没有进行有效的过滤,就直接带入查询语句中,这样,我们就可以提交具有数据查询功能的语句,加入到程序将要提交的信息中去,再根据服务器返回的信息来判断数据库里的内容!光这样说大家可能不太好理解,不要紧,接着往下看。有关的基础已经讲完了 下面开始实战练习部分!

11楼
卑鄙果 2020-10-4
B。猜列!
用到的语句:and (select count(列名) from 猜到的表名)>0 。在注入点后加上这句话,如果返回正常,说明你猜的列是存在的!比如http://www.xxxxxxxx.com/article/as.asp?id=875 and (select count(username) from admin)>0,如果返回正常,那username这个列就存在!不过首先要确定from后面跟的表名要是存在的哦!不然你怎么猜都是错的!
12楼
卑鄙果 2020-10-4
C。检测记录数
用到的语句:and (select count(*) from 猜到的表名)>X (X是个数字)。在注入点后加上这句话,并不停地变换X这个数字,直到猜到准确的记录数为止!比如http://www.xxxxxxxx.com/article/as.asp?id=875and' target='_blank'>http://www.xxxxxxxx.com/article/as.asp?id=875and (select count(*) from admin)>2,这个句子是猜admin表里有几条记录的,也就是有几个管理员(因为一个管理员对应一条记录嘛!)。如果返回正常,说明admin这张表里的记录数大于2。这个时候我们把2改成别的大一点的数!比如5,如果返回错误,说明管理员的个数在2和5之间,2和5之间的整数是3和4,这个时候我们变换语句为http://www.xxxxxxxx.com/article/as.asp?id=875 and (select count(*) from admin)=3或者=4,哪个返回正常那管理员的个数就是哪个。如果提交>5还返回错误,那就再取一个更大的数,再重复刚才的动作就可以猜到记录数!
13楼
卑鄙果 2020-10-4
D。检测字段长度
用到的语句:and (select top 1 len(列) from 表)>X (X和刚才一样!)。我来解释一下这个句子,selecttop1是查询第一条数据的意思!(在WEB环境下不支持多行回显!只是一次查询的数据不能超过一行!),len是MSSQL里的一个函数,用法是len(),()里可以是字符串也可以是表达式也可以是列名!知道这些,大家应该可以看懂了吧!后面那个X的变换方法上面的一样!
1 2

评论

登录后才可发表内容
  • 主题

    88

  • 帖子

    1588

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.0277s Mem:2155Kb