CTF 【每日一题20160618】简单xss示例
来源:互联网 发布:ip网络功放链接 编辑:程序博客网 时间:2024/06/05 18:03
继续黑客游戏 第五关 复杂的文字游戏
点一下have a try 下面一行后那个回车
并有弹出消息框
分析:
这是要考XSS,右侧还提示“会用错误控制台么?”,这个是提示用chrome的console(按F12调用)。首先看一下源码,发现里面有一段手写脚本(编码风格一般较差的那种),似乎是网页程序员留下的:
他们说输入的地方就是攻击的开始 </blockquote> <div class="main_form lvl5_form"> <p><label for="try">尝试一下 Have A Try</label> <span id="try_l"></span></p> <p class="key_p" id="try_p"> <input type="text" name="try" id="try" class="txtbox" required="true" title="script" value='<script>alert("something strange");<\/script>' /> <a href="javascript:void(0);" class="icon shortcut_icon" title="确定" onclick="do_try();"></a>
<script type="text/javascript">function do_try() { var k_id = '#try'; var p_id = k_id + '_p'; var l_id = k_id + '_l'; var t_id = k_id + '_tip'; if ( '' == $(k_id).val() ) { notice_me( k_id, 'script' ); } else { var data = '&do=check&val=' + $(k_id).val(); ajax_post( 'index.php', data, function() { $( l_id ).html( get_loadinghtml('c') ); $( l_id ).show(); }, function( ret ) { $( l_id ).hide(); $('#ret').html( ret ); } ); }}function do_other( extra ) { //getpwd var k_id = '#try'; var l_id = k_id + '_l'; var t_id = k_id + '_tip'; var data = '&do=check&val=&extra=' + extra; ajax_post( 'index.php', data, function() { $( l_id ).html( get_loadinghtml('c') ); $( l_id ).show(); }, function( ret ) { $( l_id ).hide(); $('#ret').html( ret ); } );}</script>
有趣的地方是do_other()下写了注释//getpwd,能用他得到密码?用chrome的调试功能,可以看到这个have try提交的按钮处,调用了程序员手写函数on_try()
那调用一下能得到密码的do_other()会怎样呢?把do_try(),改成do_other('getpwd'),提交后会弹出password
将URsoGreat提交,通关。可能有人不理解你为什么知道要改成do_other('getpwd'),尤其是里面的‘getpwd’,这需要你读do_other()的定义,然后找灵感。
1 0
- CTF 【每日一题20160618】简单xss示例
- CTF 【每日一题20160626】简单的PE文件逆向
- CTF 【每日一题20160627】简单的ELF逆向
- CTF【每日一题20160604】
- CTF 【每日一题20160605】
- CTF 【每日一题20160606】
- CTF 【每日一题20160607】
- CTF【每日一题20160608】
- CTF【每日一题20160609】
- CTF【每日一题20160610】
- CTF【每日一题20160613】
- CTF【每日一题20160611】
- CTF【每日一题20160614】
- CTF【每日一题20160615】
- CTF【每日一题20160618】挖掘规则里面的漏洞
- CTF 【每日一题 20160707】凯撒加密
- CTF 【每日一题20160616】windows、linux hash破解
- CTF【每日一题20160623】dotNet逆向分析
- fork函数相关总结
- SlingMenu侧滑边栏开源库的应用demo
- 中英文对照 —— 数学
- [翻译] Linux and the Device Tree
- @Inject和@Autowired以及@Resource区别
- CTF 【每日一题20160618】简单xss示例
- Android 中版本号的设置
- 状态模式(State) Java 调用者不需要关心自身状态
- for循环里面的递归调用探讨
- PHP的autoload机制的实现解析
- 新人第一帖
- Latin输入法如何添加删除某些语言的输入法
- JavaScript 计算笛卡尔积
- 丑数35