脚本小子的成长之路
手工SQL注入
(大体思路:找到可利用的注点,使用HackBar编写注入语句实现检索SQL数据库内容,获得管理员账户密码)
- 注重理解思路与方法(手工注入能让我们更加理解网站和数据库的关系,也能明白为什么利用注入语句能发现网站漏洞)
新手尝试正式开始
- 网站http://www.xxxxxx.com/php?id=1
使用HackBar 在原来网址后面输入 : and 1=1 (或者其他相等的数据,注当输入字符串时要使用‘ ‘=’’ )输入不等的数据发现无法正常显示,注入为基于错误的SQL注入(即从显示的错误消息中获取有关数据库的信息) - 测试字段
在原来网址后面输入 : order by n(n为不为0的自然数…测试之后发现当n=i时页面显示正常,n=i+1时页面无法正常显示 - 寻找
在原来网址后面输入 :union select 1,2,3,…,i 观察页面显示的数字,显示的数字即为可修改的参数(这里直接在2的位置上使用database()来写显示数据库名)
- 注入
http://www.xxxxxx.com/php?id=1 and 1=2 union select 1,group_concat(table_name) ,3,4…from information_schema.table where table_schema='mozhe_Discuz_StormGroup’
(*这里需要了解MYSQL数据库的一些相关知识*:
1. information_schema为MYSQL中的信息数据库,保存着MySQL服务器所维护的所有其他数据库的信息如数据库名,数据库的表
2. group_concat()意为列出(),table为表,table_name是具体的表名,table_schema是数据库的名称
3. 大体的意思为从数据库information_schema的table表中列出数据库名为mozhe_Discuz_StormGroup的所有表)
得到该数据库下对应的表名
5.再次按如上方法注入得到字段信息
此处请自行百度column_name即columns的相关信息
6.获得name与password信息
7.使用md5进行解码
8.成功登陆
总结:手工注入主要是深入理解SQL注入的思路与方法,为使用SQLMap打基础
OVER