加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从c#应用程序登录joomla

发布时间:2020-12-15 17:19:01 所属栏目:百科 来源:网络整理
导读:我使用很多方法登录到joomla管理面板. 但返回的值与登录页面相同. 即使用户名和密码正确. 例: WebClient Client = new WebClient();System.Collections.Specialized.NameValueCollection Collection = new System.Collections.Specialized.NameValueCollect
我使用很多方法登录到joomla管理面板.
但返回的值与登录页面相同.
即使用户名和密码正确.

例:

WebClient Client = new WebClient();
System.Collections.Specialized.NameValueCollection Collection = 
    new System.Collections.Specialized.NameValueCollection();
Collection.Add("username","--my username--");
Collection.Add("passwd","--my password--");
Collection.Add("option","com_login");
Colletion.Add("e0484cdc56d8ccc42187d26a813324ba","1");
Collection.Add("lang","");

Client.Proxy = null;
byte[] res = Client.UploadValues(
    "http://127.0.0.1/administrator/index.php","POST",Collection);
textBox1.Text = Encoding.UTF8.GetString(res,res.Length);

解决方法

问题出在这一行:

Colletion.Add("e0484cdc56d8ccc42187d26a813324ba","1");

这是joomla的CSRF反欺骗令牌.的Joomla!尝试通过在每个POST表单中插入一个此令牌以及能够修改Joomla中的某些内容的每个GET查询字符串来保护全新CSRF!系统.此随机字符串提供保护,因为受感染的站点不仅需要知道目标站点的URL和目标站点的有效请求格式,还必须知道每个会话和每个用户更改的随机字符串.

为了使用您的登录请求发送正确的令牌,您必须:

>首先使用“客户端对象”请求通过GET请求正确的登录表单
>使用regex / name =“([a-zA-z0-9] {32})”/检索令牌
>使用令牌发送登录请求

祝好运

编辑:给你的“收藏”添加一个参数:

Collection.Add("task","login");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读