如何实现手工SQL注入


这期内容当中小编将会给大家带来有关如何实现手工SQL注入,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。SQL注入是***对数据库进行***的常用手段之一,其核心思想在于:***在正常的需要调用数据库数据的URL后面构造一段数据库查询代码,然后根据返回的结果,从而获得想要的某些数据。下面我们就对之前已经搭建好的***平台进行SQL注入,最终目的是获得网站的管理员账号和密码。目标服务器IP地址:192.168.80.129,***主机IP地址:192.168.80.128。(1)寻找注入点随便打开一个网页,注意观察URL。注入点必定是类似“http://192.168.80.129/shownews.asp?id=7”这类存在命令调用的页面,“shownews.asp?id=7”是页面传值,就是将“id=7”传到“shownews.asp”页面里进行处理。我们可以在这个URL后面加上and 1=1和and 1=2进行测试。http://192.168.80.129/shownews.asp?id=7 and 1=1 ,网页仍能正常显示。http://19免费云主机域名2.168.80.129/shownews.asp?id=7 and 1=2 ,网页无法正常显示。这就表明“asp?”把我们自己加上的“and 1=1”也作为一个命令参数进行了调用,那我们就可以来构造一些SQL语句来被调用执行,从而得到需要的信息,这就是所谓的注入漏洞。像这样可以调用命令参数的网页就称为注入点。(2)猜表名***进行网站***的主要目的是获得网站管理员的用户名和密码,用户名和密码都是存放在后台数据库的某个表中,所以首先我们得猜出这个数据表的名字是什么。表名用的最多的是admin和admin_user,我们可以在注入点URL的后面加上这样一条语句来猜表名:http://192.168.80.129/shownews.asp?id=7 and (select count(*) from admin) > 0“select count(*) from admin”的意思是统计admin表中有几条记录,如果admin表存在,那么这条语句就会得到一个数值。用这个数值跟>0比较,结果肯定是成立的,所以此时网页应该正常显示。反之,如果admin表不存在,那么“select count(*) from admin”就得不到任何数值,跟>0比较,结果不成立,网页也就无法正常显示。如果网页不能正常显示,可以再换一个表名进行尝试,直到正常显示为止:http://192.168.80.129/shownews.asp?id=7 and (select count(*) from admin_user) > 0http://192.168.80.129/shownews.asp?id=7 and (select count(*) from manage_user) > 0这个网站的表名就是manage_user。常见表名主要有:admin sysadmin manger admin123 webadmin member manage_user注意:如果表名实在猜不出来,也可以使用明小子之类的工具来帮忙。(3)猜字段的数量下一步是猜这个表中哪个字段存放着用户名和密码,首先需要知道数据表中一共有几个字段。这里要用到“order by”语句,“order by”的本意是按某个字段排序,“order by 10”就是按第10个字段排序,如果第10个字段存在,那么网页就会正常显示,否则如果网页无法正常显示,则表明第10字段不存在。http://192.168.80.129/shownews.asp?id=7 order by 11通过这种方法可以猜出这个表一共有11个字段。(4)猜字段名下一步是需要知道哪个字段存放着用户名和密码,这里用到“union select”联合查询语句。http://192.168.80.129/shownews.asp?id=7 union select 1,2,3,4,5,6,7,8,9,10,11 from manage_user这里会将存放用户名和密码的字段爆出。存放用户名的字段一般叫username,存放密码的字段一般叫password,将第2和第3字段替换成这两个名字:http://192.168.80.129/shownews.asp?id=7 union select 1,username,password,4,5,6,7,8,9,10,11 from manage_user这时就将用户名和密码爆出了。(5)猜后台管理入口在这个2.0版的南方数据模板中,本身就带有“管理员登入”的链接。现在大多数网站不会这样设置的,所以这里一般要凭经验来猜,管理入口一般存放在名为admin的网站子目录下,输入下面的地址http://192.168.80.129/admin,就自动将管理入口显示出来了。在这里就可以用之前爆出的管理员账号和密码来登录,但是密码“3acdbb255b45d296”很明显是经过MD5加密的。上述就是小编为大家分享的如何实现手工SQL注入了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注云编程开发博客行业资讯频道。

相关推荐: linux自不自带yum

这篇“li免费云主机域名nux自不自带yum”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux自不自带yum”文章吧。 linux中不自带…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/06 12:45
Next 02/06 12:45