4.19学习记录

本文介绍了在HNCTF2022比赛中的挑战,涉及Nginx日志的解读、PHP限制下的问题解决,以及SQL注入中的模糊测试和联合查询技术,包括利用虚拟数据生成和MD5加密来突破密码验证。
摘要由CSDN通过智能技术生成

[HNCTF 2022 WEEK2]easy_include(Nginx日志)

 经过这几天的做题,开始习惯查看网页请求头了,这题又接触了一个陌生的东西,Nginx日志;
通过访问日志可以得到一些信息,比如ip地址,请求处理时间的信息,错误信息等,在我查了一些资料后发现,Nginx日志有两种,一种是access.log,一种是error.log
两种日志中的信息不同,access.log中的信息是一些ip地址,浏览器的信息,称作访问日志;
error.log称为错误日志,也就是说里面是一些错误访问的信息,可以帮助修改错误
那么怎么访问这两种日志,一般都是存在于/var/log/nginx的目录下,比如访问目录就是/var/log/nginx/access.log
看看这题吧,禁用了php和一些符号,就不知道该怎么入手了
(这种时候可以抓包看看请求头之类的有什么不同的)这题在响应头里面出现了nginx
搜索了发现了有日志这个东西,那么接下来就访问看看,注入一句话木马来查看
正常的再cat就行

[GXYCTF2019]BabySQli 

这题比较有意思,也是第一次听说这种方法,所有记录一下,这题主要让我学到两个东西,一个是模糊测试(fuzz)一个就是,在本次联合注入中,当联合查询的数据不存在时,会自动生成一个虚拟数据,并且只用于本次查询举例:
这是查询前的表.
在这里插入图片描述
接着我们尝试查询一个不存在的数据.
在这里插入图片描述
可能这样还不够直观,通过联合查询将直观性体现出来.(联合查询时注意列数)
在这里插入图片描述
取自[GXYCTF2019]BabySQli(联合注入添加临时虚拟用户)
看到本题,在用户输入1',有报错,说明在这里存在SQL注入
用万能密码登录看看,得到一串码
用base32,和base64分别解码
这个语句说明在判断用户时,先判断用户名,按照经验,用户名一般先用admin试一下,发现用admin时,回显为密码错误,那么接下来就该到注入题的一般步骤了。对字段数进行查询,并且需要判断admin在那个字段
通过模糊测试,发现order by,被过滤了,那么就要用联合注入来查询了,根据回显判断有3个字段
判断admin在那个字段
回显密码错误,说明admin在第二字段,但是要登录就需要密码,就用到前面提到的生成一个虚拟数据,这里账号知道,需要生成一个虚拟密码,前面提到是先判断用户名,所以密码应该在后一个字段,把密码进行md5加密,密码就为md5原值
1' union select 1,'admin','202cb962ac59075b964b07152d234b70'#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值