下载地址
https://download.vulnhub.com/pentesterlab/web_for_pentester_i386.iso
实战演练
使用netdiscover命令查找靶机的IP。
使用nmap查看靶机开放的端口
浏览器打开80端口
XSS
Example 1
Example 2
被过滤了
那就大写标签
Example 3
被过滤
既然字符串被干掉,那就拼接
Example 4
通常是因为它不再执行替换,但这次它搜索“脚本”模式,如果找到它,则返回错误(if条件)。
但由于并非所有XSS都可以通过该标记进行利用,我们可以使用任何其他向量来运行javascript,例如:
Example 5
这次过滤后的单词是’alert’所以我们必须用另一个函数替换它,例如eval(String.fromCharCode()),它将通过避开preg_match函数将必要的字符从十进制转换为ASCII …
Example 6
Example 7
在练习7中,我们看到特殊字符正在被编码,我们不能使用双引号(“)。这可能是因为正在使用用于防止XSS的函数。
其中一个函数htmlentities默认情况下不会过滤单引号(除非使用ENT_QUOTES开关指定),因此修改有效负载是微不足道的:
Example 8
在这种情况下,它使用HP_SELF P函数,允许我们通过关闭并稍后添加它来插入恶意javascript代码:
Example 9
最后一个练习是基于DOM的XSS。现有的javascript正在寻找锚点或锚点#来在页面内写入url。我们可以通过将xss有效负载放在锚之后的url中来利用它。
这个漏洞只能用IE执行
SQL injections
Example 1
Example 2
SQLMAP
Example 3
Example 4
从现在开始他们开始工作了一点,虽然从MySQL 5.5.0开始已经过时了,但他们使用“ mysql_real_escape_string ” 函数来防止注入以下字符:\x00, \n, \r, \, ‘, ” y \x1a.+
Example 5
Example 6
Example 7
Example 8
http://pentesterlab/sqli/example8.php?order=name`%20%23%20or%20order=name`,`name`
Example 9
Directory traversal
Example 1
Example 2
Example 3
有一个旧漏洞,特别是在旧版本的PHP(最高5.3.4)和perl中,它允许您从空(编码)字节取消对字符串其余部分的处理。也就是说,我们可以加载包含图像路径和PHP代码中指示的图像扩展名的有效负载,但是当包含该字符时,文件系统中的进程将忽略链的其余部分,能够访问其他文件而无需.png扩展名
在练习代码中,它通过preg_replace函数进行模拟(它也取消了指示完整路径的需要),因此我们只能使用带有空字节的有效负载:
File Include
Example 1
Example 2
Code injection
Example 1
Example 2
Example 3
Example 4
Commands injection
Example 1
Example 2
Example 3
在浏览器直接输入payload,会自动跳转,会BP拦截
LDAP attacks
Example 1
如果未指定这些参数,则结果将是匿名查询,并且将绕过身份验证。只需删除它们:
Example 2
File Upload
Example 1
可以直接上传PHP文件
Example 2
XML attacks
Example 1
Example 2
来源:freebuf.com 2019-08-19 23:52:05 by: 陌度
请登录后发表评论
注册