开学第八周刷题总结

Crypto

old-fashion 1
打开文本我们发现一串比较长的字符
Os drnuzearyuwn, y jtkjzoztzoes douwlr oj y ilzwex eq lsdexosa kn pwodw tsozj eq ufyoszlbz yrl rlufydlx pozw douwlrzlbz, ydderxosa ze y rlatfyr jnjzli; mjy gfbmw vla xy wbfnsy symmyew (mjy vrwm qrvvrf), hlbew rd symmyew, mebhsymw rd symmyew, vbomgeyw rd mjy lxrzy, lfk wr dremj. Mjy eyqybzye kyqbhjyew mjy myom xa hyedrevbfn lf bfzyewy wgxwmbmgmbrf. Wr mjy dsln bw f1_2jyf-k3_jg1-vb-vl_l
我们用词频分析,它是替换密码,我们就用文本爆破工具quipqiup试一下,网址https://quipqiup.com/
在这里插入图片描述
(那个clues也可以不输),然后我们看下面爆破的结果
在这里插入图片描述
在第一个,我们发现了flag,它后面的n1_2hen-d3_hu1-mi-ma_a就是我们的答案
MD5
看到题目我们就会想到它应该会用到md5加密,然后打开题目e00cf25ad42683b3df678c61f42c6bda
利用md5在线解密得到
在这里插入图片描述
然后我们提交即可

Misc

数据包中的线索 1
实现我们打开附件发现后缀是pcapng的,然后我们直接wireshark打开
在这里插入图片描述
然后我们搜索http的包
在这里插入图片描述
然后点击Analyze->Follow->HTTP Stream在这里插入图片描述
发现这个传输内容好像是base64密文,然后我们使用这个网站解码base64:https://the-x.cn/base64
在这里插入图片描述
发现它是一张图片,然后我们保存下来在这里插入图片描述
我们的答案就出来了

Web

[强网杯 2019]随便注1
首先我们打开题目网址
http://48577a73-b8d9-4186-9334-8f3e25585276.node3.buuoj.cn/
在这里插入图片描述

这道题主要利用堆叠注入
堆叠注入定义(摘录)
Stacked injections(堆叠注入)从名词的含义就可以看到应该是一堆 sql 语句(多条)一起执行。而在真实的运用中也是这样的, 我们知道在 mysql 中, 主要是命令行中, 每一条语句结尾加; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做 stacked injection。
堆叠注入原理
在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。例如以下这个例子。用户输入:1; DELETE FROM products服务器端生成的sql语句为: Select *from products where productid=1;DELETE FROM products当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。
(1)新建表
select *from users where id=1;create table test like users;
(2)删除上面新建的test表
select * from users where id=1;drop table test;
(3)查询数据
select * from users where id=1;select 1,2,3;
(4)加载文件
select * from users where id=1;select load_file(‘c:/tmpupbbn.php’);
(5) 修改数据
select * from users where id=1;insert into users(id,username,password) values (‘100’,‘new’,‘new’);
下面就让我们开始做题吧
1.我们利用1' or 1=1#语句,发现它可以把表中的所有数据都查出来,但是里面没有我们所需要的flag
在这里插入图片描述
2.我们看一下数据库名,利用i select 1,2,database()#语句在这里插入图片描述
发现很多函数都被过滤了,由于select被过滤了,那么union查询也就用不上了
3.我们就利用堆叠注入,输入0';show databases;#
在这里插入图片描述
果然可以,库名一下都查出来了
4.然后我们继续查表名,利用0';show tables;#语句
在这里插入图片描述

5.查看表结构,发现了flag在“1919810931114514”表里,输入0';desc1919810931114514;#这里的“1919810931114514”必须用反单引号,我刚开始用错了就一直界面错误,在windows系统下,反单引号
(`)是数据库,表,索引,列和别名用的引用符
在这里插入图片描述

6.再看一下words表的结构,0';desc words;#发现一共有id和data两列
在这里插入图片描述
7.那么查询语句很可能是:select id,data from words where id=
因为可以堆叠查询,这时候就想到了一个改名的方法,把words随便改成words1,然后把1919810931114514改成words,再把列名flag改成id,结合上面的1' or 1=1#爆出表所有内容就可以查flag啦
payload:

0’;rename table words to words1;rename table 1919810931114514 to words;alter table words change flag id varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;desc words;#

在这里插入图片描述

8. 再用一下一开始的操作1' or 1=1#

在这里插入图片描述
我们的答案就出来了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值