[ACTF2020 新生赛]Exec 1 知识点 命令执行漏洞 | : 直接执行后面的语句 ||: 如果前面执行的语句出错,才执行后面的语句 &: &前面后面的命令都要执行,无论真假 &&:如果前面为假就直接出
| : 直接执行后面的语句
||: 如果前面执行的语句出错,才执行后面的语句
&: &前面后面的命令都要执行,无论真假
&&:如果前面为假就直接出错,后面的不会被执行
看到是ping,先输入ip地址试一下
因为是命令输入框,猜测可能存在命令执行漏洞,输入|cat /flag 试一下
然后直接ping,可以得出flag
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
先万能语句,发现不可以
试一下堆叠注入,爆库,爆表
由这里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函数:将多个字符串 连接成一个字符串。
看到题目是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
--结束END--
本文标题: BUUCTF-练习场-Web(5-8)
本文链接: https://www.lsjlt.com/news/423471.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
一口价域名售卖能注册吗?域名是网站的标识,简短且易于记忆,为在线用户提供了访问我们网站的简单路径。一口价是在域名交易中一种常见的模式,而这种通常是针对已经被注册的域名转售给其他人的一种方式。
一口价域名买卖的过程通常包括以下几个步骤:
1.寻找:买家需要在域名售卖平台上找到心仪的一口价域名。平台通常会为每个可售的域名提供详细的描述,包括价格、年龄、流
443px" 443px) https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294.jpg https://www.west.cn/docs/wp-content/uploads/2024/04/SEO图片294-768x413.jpg 域名售卖 域名一口价售卖 游戏音频 赋值/切片 框架优势 评估指南 项目规模
0