Web攻击
雪碧可乐_
学习真是太难了
展开
-
命令执行与代码执行漏洞
RCE应用有时需要调用一些执行系统命令的函数,当服务器没有严格过滤用户输入的参数时,就有可能导致用户提交恶意语句被服务器执行,造成命令或代码执行漏洞,从而控制后台系统原因代码层过滤不严系统的漏洞造成命令注入调用的第三方组件存在代码执行漏洞命令执行函数system()该函数会把执行结果输出,并把输出结果的最后一行作为字符串返回,如果执行失败则返回falseshell_exec()不输出结果,返回执行结果popen()exec()不输出结果,返回执行结果的最后原创 2020-08-20 10:37:05 · 358 阅读 · 0 评论 -
事件处理程序--XSS
FSCommand() (攻击者当需要在嵌入的Flash对象中执行时可以使用此事件)onAbort() (当用户中止加载图片时)onActivate() (当对象激活时)onAfterPrint() (用户打印或进行打印预览后触发)onAfterUpdate() (从数据源对象更新数据后由数据对象触发)onBeforeActivate() (在对象设置为激活元素前触发)onBeforeCopy() (攻击者在选中部分拷贝到剪贴板前执行攻击代码-攻击者可以通过执行exe..转载 2020-08-19 18:01:49 · 313 阅读 · 0 评论 -
文件上传绕过
查看是否前端检查文件类型抓包修改content-type黑名单验证的话,可以使用php3,php5,phtml,pht等来绕过,但需要在httpd-conf中开启默认是被注释掉的,且默认只有.php 和 .phtml使用.htaccess绕过因此先上传一个.htaccess文件,这样所有文件都会当成php来解析然后上传一个1.jpg的文件.htaccess文件内容如下:上传test.htacess,但是上传的时候抓包将名字去掉,改为.htaccess上传1.jpg,然后访问连接,.原创 2020-08-18 21:02:39 · 398 阅读 · 0 评论 -
反序列化漏洞
反序列化序列化serialize()序列化说通俗点就是把一个对象变成可以传输的字符串,比如下面是一个对象: class S{ public $test="pikachu"; } $s=new S(); //创建一个对象 serialize($s); //把这个对象进行序列化序列化后得到的结果是这个样子的:O:1:“S”:1:{s:4:“test”;s:7:“pikachu”;} //键值对O:代表object ;1:代表对象名字长度为一个字符; S:对象的名称 ;1:代原创 2020-08-15 21:44:11 · 179 阅读 · 0 评论 -
文件包含漏洞
一、文件包含服务器执行PHP文件时,可以通过文件包含函数加载另一个文件中的PHP代码,并且当PHP来执行,这会为开发者节省大量的时间。漏洞产生原因:文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码严格来说,文件包含漏洞是“代码注入”的一种,文件包含可能会出现再JSP,PHP,ASP等语言中要想成功利用文件包含漏洞,需要满足下面的两个条件:include()等函数通过动态变量的方式引入需要包含的文件用户能够控制该动态变量二、导致文原创 2020-08-15 13:27:01 · 330 阅读 · 0 评论 -
ssrf(服务器端请求伪造)
一、ssrfSSRF (Server-Side Request Forgery:服务器端请求伪造)其形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据数据流: 攻击者----->服务器---->目标地址一般情况下,SSRF是要目标网站的内部系统。(因为他是从内部系统访问的,所以可以通过它攻击外网无法访问的内部系统,也就是把目标网站当中间人)即:首先,原创 2020-08-14 19:22:43 · 243 阅读 · 0 评论 -
XXE漏洞
XXE(xml external entity injection)一、xxe漏洞xml外部实体注入漏洞,发生在应用程序解析xml输入时,没有禁止外部实体的加载、导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起dos攻击等危害。是XML注入的一种,普通的XML注入利用面比较狭窄,如果有的话也是逻辑类漏洞。XXE扩大了攻击面。xxe是一种针对xml终端的实施攻击,想要实施这种攻击需要在xml的payload的包含外部实体声明,且服务器本身允许实体扩展,这样就能读取web原创 2020-08-14 12:20:26 · 931 阅读 · 0 评论 -
任意修改密码或注册漏洞以及0元支付漏洞
任意修改密码漏洞(垂直越权)以admin1(普通用户)的身份登录,修改密码抓包然后将userid换为admin,将其密码修改为cly,然后使用admin/cly登录成功因为没有验证cookie,只验证了useid成功以admin登录进入到管理用户页面任意账号注册投票系统注册很多账号进行投票注册时无验证码,或验证码可绕过注册时抓包根据返回包的不同,判断注册时是使用用户名和邮箱进行验证的使用爆破模块,设置参数字典(用户名和邮箱)修复建议:使用验证码/token或者将原创 2020-08-13 16:55:42 · 475 阅读 · 0 评论 -
CSRF--跨站点请求伪造
原理攻击者盗用身份以用户名义发送恶意请求可能用到的标签<link href=" "><img src=" "><iframe src=" "><script src=" ">csrf与xss的区别GET分析源码可以看出来检查了 HTTP_REFERER中是否包含SERVER_NAME所以不能随意构造一个URL诱使管理员点击所以,我们可以将攻击页面命名为192.168.3.3.html就可以绕过了原本数据库中管理员的密码为原创 2020-08-11 21:52:34 · 176 阅读 · 0 评论 -
文件上传--中间件解析漏洞
解析漏洞是上传漏洞的一种,解析漏洞是针对中间件的apache一、解析漏洞Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断比如 yijuhua.php.owf.raar “.owf”和”.raar” 这两种后缀是apache不可识别解析,apache就会把sec.php.owf.rar解析成php.如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个test.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀二、修复方法原创 2020-08-11 21:30:18 · 1305 阅读 · 0 评论 -
XSS(跨站脚本攻击)
XSS漏洞以下大部分内容来源于这里XSS漏洞发生在服务器,被攻击者主动触发攻击者将恶意代码注入到服务器中用户在没有防备的情况下访问服务器服务器将含有恶意代码的网页响应给客户端在客户端浏览器中触发恶意JS代码PoC(Proof of Concept):验证和检测漏洞的存在的代码EXP:漏洞的完整利用工具(EXP包含PoC,shellcode和payload)shellcode:利...原创 2020-04-23 16:53:47 · 417 阅读 · 0 评论 -
sqlmap测试靶机
测试SQL注入 Sqlmap.py -u "http://192.168.3.83/eims_cms_3.5/News.asp?SortID=1&ItemID=49"可以从下面的测试结果看出此处存在SQL注入以及攻击类型和payload获取数据库信息GET型1. 获取数据库名字 sqlmap.py -u "http://192.168.3.3/DVWA/vulnerabilities/sqli/?i=1&Submit=Submit#" --cookie="securit原创 2020-08-09 11:49:49 · 484 阅读 · 2 评论 -
靶机图片马获取shell
找一张图片,命名为1.jpg写一个文本,命名为1.txt使用copy命令,将文本写入图片中copy 1.jpg/b+1.txt 2.jpg破解账号密码,登录找到能上传图片的地方上传图片得到图片路径为:Upload/202086184854862.jpg打开数据库备份功能,进行备份可以打开路径查看打开菜刀,使用之前的ttt进行连接连接成功...原创 2020-08-09 10:13:20 · 852 阅读 · 0 评论 -
SQL注入--Load_file与into outfile
Load_file与into outfile利用into outfile拿到getshall原创 2020-08-09 10:05:49 · 2928 阅读 · 1 评论 -
XSS获取管理员COOKIE
扫到管理员登录路径:http://192.168.3.83:800/DedeCmsV5.6-GBK-Final/uploads/dede/login.php用xss平台会员账号/密码:like/123456爆破管理员账号/密码:admin/admin登录会员账号找一篇文字评论,等待管理员上线管理员登录然后在xss平台获取到cookietoplocation是返回的管理员页面然后打开之前获取到的管理员登录页面替换掉cookie后,访问http://192.168.3.83原创 2020-08-08 20:20:08 · 1602 阅读 · 0 评论 -
SQL注入--二次注入
原理攻击者构造的恶意数据存储在数据库后,恶意数据被读取并进入到SQL查询语句所导致的注入防御者可能在用户输入恶意数据时对其中的特殊字符进行了转义处理,但在恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中当Web程序调用存储在数据库中的恶意数据并执行SQL查询时,就发生了SQL二次注入二次注入,可以概括为以下两步:第一步:插入恶意数据进行数据库插入数据时,对其中的特殊字符进行了转义处理,在写入数据库的时候又保留了原来的数据。第二步:引用恶意数据开发者默认存入数据库的数据都是安全的原创 2020-08-07 12:09:01 · 468 阅读 · 0 评论 -
SQL注入--盲注(布尔与延时)
布尔与延时盲注的区别首先,使用二者的前提是,在参数错误的情况下(例如:1’)不会返回报错信息布尔盲注:在正确与错误参数下,页面返回的信息有所不同延时盲注:不论输入正确或错误参数,页面没有明显区别时间盲注更像是布尔盲注的升级,布尔盲注的时候比较直观的变化所以这个时候基于时间的盲注,也就是在基于布尔的盲注上结合if判断和sleep()或benchmark()函数来得到一个时间上的变换延迟的参照,也就可以让我们进行一些判断盲注常使用的函数length():确定字符长度ascii():确定某个字原创 2020-08-07 11:58:21 · 1244 阅读 · 0 评论 -
SQL注入--宽字节注入
什么是宽字节当某字符的大小为一个字节时,称其字符为窄字节当某字符的大小为两个字节时,称其字符为宽字节所有英文默认占一个字节,汉字占两个字节常见的宽字节编码:GB2312,GBK,GB18030,BIG5,Shift_JIS等等使用宽字节注入的前提数据库使用了gbk编码使用了过滤函数,将用户输入的单引号转义(mysql_real_escape_string,addslashes)这样被处理后的sql语句中,单引号不再具有‘作用’,仅仅是‘内容’而已,换句话说,这个单引号无法发挥和前后单引号原创 2020-08-04 12:10:28 · 775 阅读 · 0 评论 -
SQL注入--绕过技巧
参考自基本绕过方法大小写双写编码,如URLEncode编码,ASCII编码绕过内敛注释空格绕过用注释替换空格select/**/user,password/**/from /**/users;空格url编码%20两个空格代替一个空格用Tab代替空格%a0=空格如果空格被过滤,括号没有被过滤,可以用括号绕过select(user())from dual where(1=1)and(2=2)引号绕过使用十六进制例如:select column_name fro原创 2020-07-31 17:56:49 · 5209 阅读 · 0 评论 -
构造包进行注册管理员账号
构造包进行注册管理员账号前提知道管理员进行登录的页面扫到了网站目录,知道了注册页面(如果开发没有删除的话)但注册的页面一般不会显示到前台,即按照目录打开,网页空白很有可能是注释掉了代码此时即可进行抓包,然后构造一个包来进行注册过程找到登录页面和注册页面注册页面打开是空白的,可以查看源代码得知,此处注册需要用户名和密码两个元素在登录页面随便输入账号密码,进行登录,抓包在重放界面可以替换GET/POST请求方式,尝试哪个请求方式是正确的将访问页面地址修改成注册原创 2020-07-30 11:59:12 · 191 阅读 · 0 评论 -
SQL注入--联合查询注入
简单的注入获取信息通过order by获取表中列数当列数不对时会报错 id=1 order by 4查看某一列在页面中显示的位置 ?id=0 union select 1,2,3,4查看数据库名称、版本、用户信息 ?id=0 union select 1,version(),database(),user()查所有的数据库名称 ?id=0 union select group_concat(schema_name),2,3,4 from informatio原创 2020-07-28 12:57:33 · 167 阅读 · 0 评论 -
SQL注入--报错注入
利用floor(rand(0)*2)报错返回信息一、 报错原理二、通用格式 ?id=1 union select (select 1 from (select count(*),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a) //将payload插入即可三、利用报错返回信息返回数据库名称、版本信息、用户名称 // payload (select concat原创 2020-07-28 12:29:42 · 284 阅读 · 0 评论 -
点击劫持
点击劫持(clickjacking)点击劫持是指在一个Web页面下隐藏了一个透明的iframe(opacity:0),用外层假页面诱导用户点击,实际上是在隐藏的frame上触发了点击事件进行一些用户不知情的操作将iframe页面透明度调至最透明,将看不到iframe页面但其实页面是这样的在登录页面输入其实内容被输入到了iframe页面代码危害盗取用户资金获得用户的敏感信息与XSS或CSRF等其他攻击手段配合检验是否有点击劫持burp抓包,查看是否有X-Frame-Opt原创 2020-07-23 22:49:52 · 880 阅读 · 1 评论 -
SQL注入
SQL注入SQL注入是服务器端未严格校验客户端发送的数据,而导致服务端SQL语句被恶意修改并成功执行的行为SQL分类:SQL注入按照请求方法分类:GET型注入和POST型注入。GET方式中使用URL提交注入数据;POST方式使用抓包工具修改POST数据部分提交注入。SQL注入常见注入点类型:数字型,字符型和搜索型。数字型注入就是说注入点的数据,拼接到SQL语句中是以数字型出现的,即数据两边没有被单引号、双引号包括;字符型注入相反。四大基本手法:联合查询,报错注入,布尔盲注,延时注入my原创 2020-05-10 18:42:32 · 244 阅读 · 0 评论