[攻防世界][Web]PHP2

攻防,世界,web,php2 · 浏览次数 : 23

小编点评

Can you anthenticate to this website? 这里需要进行代码审计,从这里可以看出,需要传入id的值不能是admin,同时urldecode以后又必须是admin才有戏知识点:我们可以对参数进行urlencode的操作,urlencode会对所有非ascii码所表示的字符进行编码,编码成ascii码字符串组合来代替其中 a 对应的就是 %61。 所以我们只要传入%61dmin 经过 urldecode以后 就会变为 admin, 从而通过检查这里另一个知识点,就是apache服务器,在接受到请求后会默认对请求参数做一次urldecode, 也就是说如果我们传入的是%61dmin ,进入代码块时就已经被解析为admin而导致显示 not allowed了所以这里需要对%61再做一次urlendcode 得到%2561访问urlhttp://61.147.171.105:63925/index.php?id=%2561dminboom 得到flag: cyberpeace{d30a3860b94b12cc3d96717cbbb6fabb}。

正文

打开靶机对应的url

就一行字

Can you anthenticate to this website?
第一感觉就需要做目录文件扫描
使用御剑和dirsearch进行扫描,发现一个文件 index.phps
知识点:
phps 是php标准中用来表示可以查看的php源文件的约定,不会被服务器执行
直接展示代码
访问index.phps
<?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?
这里需要进行代码审计,从这里可以看出,需要传入id的值不能是admin,同时urldecode以后又必须是admin才有戏
知识点:
我们可以对参数进行urlencode的操作,urlencode会对所有非ascii码所表示的字符进行编码,编码成ascii码字符串组合来代替

其中 a 对应的就是 %61

参考: https://www.w3school.com.cn/tags/html_ref_urlencode.asp
那么我们只要传入%61dmin 经过 urldecode以后 就会变为 admin, 从而通过检查
这里还有一个知识点,就是apache服务器,在接受到请求后会默认对请求参数做一次urldecode, 也就是说如果我们传入的是%61dmin ,进入代码块时就已经被解析为admin而导致显示 not allowed了
所以这里需要对%61再做一次urlendcode 得到%2561
访问url
http://61.147.171.105:63925/index.php?id=%2561dmin

boom 得到flag: cyberpeace{d30a3860b94b12cc3d96717cbbb6fabb}

与[攻防世界][Web]PHP2相似的内容:

[攻防世界][Web]PHP2

打开靶机对应的url 就一行字 Can you anthenticate to this website? 第一感觉就需要做目录文件扫描 使用御剑和dirsearch进行扫描,发现一个文件 index.phps 知识点: phps 是php标准中用来表示可以查看的php源文件的约定,不会被服务器执行

[攻防世界][Web]ics-06

打开靶机对应的url,展开是一个网站的样子,其实啥也么有 所有tab都点一遍,发现只有报表中心有内容,url为 http://61.147.171.105:49797/index.php?id=1 猜测这里是题眼,使用burpsuite的intruder直接爆id的值(0-10000) 最后发现id

[攻防世界][江苏工匠杯]unseping

打开靶机对应的url 上来就是代码审计 method =

[攻防世界][江苏工匠杯]file_include

打开靶机url,上来就是代码审计

[攻防世界][江苏工匠杯]easyphp

打开靶机url,上来就代码审计 6000000 && strlen

[攻防世界][Reverse]666

下载附件,是一个可执行的ELF文件666,拖进IDA中查看 main 函数反汇编得到 int __cdecl main(int argc, const char **argv, const char **envp) { char s[240]; // [rsp+0h] [rbp-1E0h] BYRE

[攻防世界][Reverse]xxxorrr

将目标文件拖入IDA 反汇编main函数 __int64 __fastcall main(int a1, char **a2, char **a3) { int i; // [rsp+Ch] [rbp-34h] char s[40]; // [rsp+10h] [rbp-30h] BYREF uns

【Android 逆向】【攻防世界】基础android

1. 下载并安装apk,提示要输入密码 2. apk拖入到jadx中看一下 this.login.setOnClickListener(new View.OnClickListener() { // from class: com.example.test.ctf02.MainActivity.1

【Android 逆向】【攻防世界】android2.0

这是一道纯算法还原题 1. apk安装到手机,提示输入flag,看来输入就是flag 2. jadx 打开apk查看 this.button.setOnClickListener(new View.OnClickListener() { // from class: com.example.test

【Android 逆向】【攻防世界】APK逆向

1. apk安装到手机,提示输入flag 2. jadx打开apk 定位到checkSN方法 public boolean checkSN(String userName, String sn) { if (userName != null) { try { if (userName.length(