攻防世界做题记录

**

攻防世界做题记录


bugku web7

//多次抓放包得到flag
原本思路:
抓包发现有提示:flag is here
想利用burp suite使函数调用停止或变慢,然后查看flag
但是由于知识有限就只能慢慢抓放包

baby_web
提示初始界面,于是想到index.php,用burp抓包后得到flag
在这里插入图片描述


Training-WWW-Robots
由root协议直接在url后输入robot.txt发现禁止爬取的网页
在这里插入图片描述
在url后输入f10g.php即可获得flag

Web_php_include

**

涉及知识点:

1.str_replace(被替换的,要替换成为的,进行替换行为的字符串或数组) 用来替换字符串中的一些字符(区分大小写
2. strstr(原字符串,搜索的字符串) 函数搜索一个字符串在另一个字符串中的第一次出现。该函数对大小写敏感
如果找到,返回该字符串若没有返回false
3.(include()是有条件包含函数,而require()则是无条件包含函数)
include 使用方法如 include(“includeFile.php”); 。这个函式一般是放在流程控制的处理区段中
PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
引入是有条件的,发生在程序执行时,只有条件成立时才导入(可以简化编译生成的代码)。//区别于require
4.show_source() 函数对文件进行 PHP 语法高亮显示。语法通过使用 HTML 标签进行高亮。
用于高亮的颜色可通过 php.ini 文件进行设置或者通过调用 ini_set() 函数进行设置。
show_source() 是 highlight_file() 的别名。
注释:当使用该函数时,整个文件都将被显示,包括密码和其他敏感信息!
语法
show_source(filename,return)
• filename
• 必需。
• 规定要显示的文件。
• return
• 可选。
• 如果该参数设置为 TRUE,该函数将以字符串形式返回高亮显示的代码,而不是直接进行输出。
• 默认是 FALSE。
• 返回值
• 如果 return 参数设置为 TRUE,该函数将以字符串形式返回高亮显示的代码,而不是直接进行输出。
• 否则,如果成功则返回 TRUE,如果失败则返回 FALSE。

    <?php
show_source(__FILE__);                                         //显示的文件
echo $_GET['hello'];
$page=$_GET['page'];                           
while (strstr($page, "php://")) {                              //若传参page中有 php:// 时进入循环
    $page=str_replace("php://", "", $page);                    //将php://替换为空格
}
include($page);                                               //导入page中文件
?>

思路:
1.绕过循环替换,由查阅函数发现strstr对大小写敏感(stistr不敏感)则可以利用大写传入
2.由资料得show_source() 函数:整个文件都将被显示,包括密码和其他敏感信息!所以只要将代码写入文档中,即可读出文档
3.查阅php发现 php://input 是个可以访问请求的原始数据的只读流
4.于是url中传参 ?page=“PHP://input” 然后抓包啥也没发生,又细查了一下
发现 php://input 用于执行php代码,需要post请求提交数据,其不能获取以get方式传过的数据

卡住了于是查看wp

5.有https://blog.csdn.net/Auuuuuuuu/article/details/88778852得知可以使用命令注入
6.在抓包时传入<?php system(“Is”) ?>
发现多出来东西,于是再次改为<?php system(“cat falgxxxxx”) ?>发送得到flag

//cat, ls属于linux命令暂时还没学放一下

NewsCenter

通过测试发现属于字符型注入,手动注入即可得详细
注入方法查看

数据库名 news 1' union select 1,database(),3 #
列名 secret_table 1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="news" #
数据 id,fl4g 1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=" secret_table" #
最后查询fl4g得flag 1' union select 1,group_concat(fl4g) from secret_table #

php2

php2
1.当传入参数id时,浏览器在后面会对非ASCII码的字符进行一次urlencode
_GET本身有一次urldecode

urldecode 用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符

字母的url编码
字符的url编码就是:
字符的十六进制前面加了个百分号

<?php
if("admin"===$_GET[id]) {
  echo("<p>not allowed!</p>");
  exit();
}

$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "admin")
{
  echo "<p>Access granted!</p>";
  echo "<p>Key: xxxxxxx </p>";
}
?>

Can you anthenticate to this website?

思路:
绕过第一个if,成功比对第二个if
即利用编码绕过第一个if,解码与第二个if达成匹配

php2

1.当传入参数id时,浏览器在后面会对非ASCII码的字符进行一次urlencode
_GET本身有一次urldecode

字符的url编码就是:
字符的十六进制前面加了个百分号
urlencode()函数原理就是首先把中文字符转换为十六进制,然后在每个字符前面加一个标识符%。
urldecode()函数与urlencode()函数原理相反,用于解码已编码的 URL 字符串,其原理就是把十六进制字符串转换为中文字符

ics-06

爆破id
本来以为是sql注入,结果注了白天都没反应
后面才知道是爆破id,,,

拿burp suite爆破出id

???我的攻防世界为啥打不开环境 裂开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值