文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

BUUCTF-练习场-Web(5-8)

2023-10-04 18:31

关注

[ACTF2020 新生赛]Exec 1

  1. 命令执行漏洞

| :  直接执行后面的语句

||:    如果前面执行的语句出错,才执行后面的语句

&:    &前面后面的命令都要执行,无论真假

&&:如果前面为假就直接出错,后面的不会被执行

看到是ping,先输入ip地址试一下

因为是命令输入框,猜测可能存在命令执行漏洞,输入|cat /flag 试一下

然后直接ping,可以得出flag

[强网杯 2019]随便注 1

  1. SQL注入
  2. 联合注入
  3. 堆叠注入
  4. 爆库爆表查字段

SQL注入步骤大概总结

1、判断注入点
2、判断字段(列)数
3、判断回显点(看情况)
4、查数据  数据库、表、列、列中的数据

先用万能钥匙浅浅试一下水,得到下面的代码

 

 2.由此得出存在SQL注入,所以这个时候,可以先判断一下字段个数

判断列数,字段个数,用1' order by 数字# ,order by 作用是排序

 判断字段个数如图所示

 到第三列报错,说明只有两列

爆表,看看有什么

爆表:1';show tables;#

发现有两个表,一个是1919810931114514,一个是words 

分别进去两个表,获取表中列名,得到如图所示

1';show columns from words;#

1';show columns from `1919810931114514`;#

 

这个时候在一串数字的表中,发现了flag,下面考虑如何回显

更改表名列名类型

因为查询是在words中查询id,所以我们将表1919810931114514改名为words,将words改名为其他名字。同时将flag属性改名为id属性,类型为varchar(100) 

1';rename table `words` to word;rename table `1919810931114514` to words;alter table words change flag id varchar(100);#

注:alter 译为 改变

然后输入此命令后,再查一下表,以及表中的列

万能语句直接回显flag

疑惑?为什么需要更改表名列名以及属性,才可以用万能语句获得flag

[SUCTF 2019]EasySQL 1

  1. 后端代码猜测
  2. ||的理解
  3.  select from的理解
  4. mysql中sql_mode参数设置
  5. *的理解

先万能语句,发现不可以

试一下堆叠注入,爆库,爆表

由这里Array([0] => 1)和Array([0] >= Flag)可以猜测出1和flag必然有什么联系

这里有的大神会猜测出后端代码

select $_GET[‘query’] || flag from flag

||,理解:如果前面的代码为真,则后面的代码不执行

第一种解法

*,1

如果$post[‘query’]的数据为*,1,

sql语句就变成了select *,1||flag from Flag,也就是select *,1 from Flag,就直接查询出了Flag表中的所有内容。

“select * from”中“*”意思是:指查询表或视图中的所有字段。

select 1 from 的意思其实是建立一个临时列,这个列的所有初始值都被设为1。

得到flag。

第二种解法

  1;set sql_mode=PIPES_AS_CONCAT;select 1

执行了set sql_mode=PIPES_AS_CONCAT后,select 1||flag from flag显示的就为select 1 from flag 与select flag from flag的拼接版。

翻译PIPES_AS_CONCAT,即将pipes(即||)当做concat连接符来用

concat函数:将多个字符串 连接成一个字符串。

[GXYCTF2019]Ping Ping Ping 1

  1. 绕过空格方法
  2. 参数替代方法
  3. cat与tac函数

看到题目是ping,并且打开界面有个ip的参数,先在url这里传一下ip地址

查一下当前目录里面的文件

哇哦~,发现了flag.php文件,尝试用cat打开一下

利用cat打开flag.php文件

发现并不可以,提示空格被过滤掉了

利用其他字符绕过空格

绕过空格的方法

$IFS
${IFS}
$IFS$1 //1改成加其他数字好像都是可以的
<
<>
注:这道题好像;   , 都可以绕过空格,不清楚是不是通用

发现虽然绕过了空格,但是flag竟然也被过滤了,要想办法进行字符替换

这里采用参数替代

?ip=127.0.0.1;b=g;cat$IFS$8fla$b.php

 注意在使用参数的时候,加一个$

这里同时绕过空格和flag的时候,需要用$IFS$1这种绕过方式(不是很理解,看其他wp有的其他绕过方式也是可以的),然后右键查看源代码

利用tac(cat函数的反写),可以不用看源代码,直接显示

cat命令读取文件的内容并将内容连续输出到标准输出,用于查看文件的内容。

cat是单词concatenate的简写。
如果没有加任何参数,cat读取标准输入并输出到标准输出。
tac命令和cat命令的功能一样,

区别是cat将文件从第一行到最后一行连续显示到屏幕上,

而tac则正好相反,从最后一行到第一行反向输出到屏幕上。
tac是cat的反写形式。

深究一下源代码,发现里面绕过了好多

来源地址:https://blog.csdn.net/m0_62905745/article/details/127464244

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯